Java 爱的循环_郁金花海 Tulip Sea in Love Loop
- 欢迎进入 ? Chino的六月花海~
-
- 六月飞雪 百宝箱
-
-
- 1. Idea 够用快捷键
- 2. idea 心动主题鉴赏
- 3. Gitee 使用微缩指南
-
- 1. 版本控制 * 基本解读~
- 2. 使用 Git 超简单!
- 3. Git 几句简单命令 ~
- 3. 配钥匙 环节
- 4. 使用 SourceTree 图形 GUI 推送源代码~
- 4. 经典的电子生活
-
- 神操作 No.1:Wins - 发送 奇怪的应用 到桌面
- 神操作 No.2:Wins - 隐藏在图片创建时间的小秘密
- 神操作 No.3:爆好用的企鹅截图 系统工具 ~
- 5. 开源许可证 - 选择指南
- 6. Java 自体导包 - 划重点
- 7. idea 中文乱码老梗
- 8. idea 中 JDK 配置可靠的方法
- 9. Eclipse 内心奔腾的小马
-
- 1. 哎哟!又是UTF-8设置...
- 2. 哎哟!我的Eclipse快捷键不能再用了...
- 3. 哦!输入口程序报错!...
- 4. 哎哟!Eclipse快捷键唤醒 ?终极杀手锏...
- 5. 一个神奇的jre问题解决了!
- 10. 十分钟:Linux 含 泪 教 程
-
- 假如我们没有见面 If Or Not
-
-
- 绘制流程控制图
- If 选择结构
-
-
- 1. 单分支选择结构
- 2. 结构选择双分支 (if-else)
- 3. 多分支选择结构(多分支选择结构) if-else)
- 4. 嵌套if选择结构
-
- Switch 选择结构
-
- 恋爱循环 Love Loop
-
-
- 循环四要素
- While 循环
- For 循环
- Do-while 循环
- 增强 For 循环
- 立体循环图形大奖
-
- 1. 平行四边形
- 2. 三角形
- 3. 等腰三角形
- 4. 菱形
- 5. 长方形
- 6. 圣诞树
- 7. 数字正方形
- 8. 最酷的爱心
- 9. 倒三角形
- 10. 空心菱形
- 11. 数字三角形
- 12. 梯形
- 13. 反倒三角
-
- 有趣 VS 真有趣~
-
-
- 闰年判断方法
- 输出年月日数
- 九九乘法表
- equals 用法汇总
- 生成随机数字
-
- 第一种方法:通过random方法实现
- 第二种办法:通过Math.random()实现方法
- 第三种方法:实现随机文本的生成
- 什么是"穷举法"?
- About 包名 - 新命名规范
- 一点点java数学方法
-
- 1. 计算阶乘 n!
- 2. 计算同构数
- 3. 计算素数
- 4. 关于偶数
- 5. 计算水仙花的数量
- 6. 计算最小数
- 7. 猴子摘桃
- 8. 最大值 & 最小值
- 9. 摄氏度和华氏度
- 10. 计算完备数
-
- 简单程序调试
-
-
- Eclipse 版本 Debug
- Idea 版本 Debug
-
- 初尝数据库 MySQL
-
-
- mySQL简易安装指南
- 命令行 - mySQL初始化
- 结构化查询句 SQL - 分类
- 命令行 - 操作数据库
- 创建表基本语法
- 数据库中的数据类型
- 关于属性
- mySQL数据表类型
- 关于SQLyog的使用指南
- 这一期即将结束 Conclusion
-
欢迎进入 ? Chino的六月花海~
最近断了这么久,隔离的日子让我失去了,但它开始淡化生活之外的一些莫名其妙的感觉。一出门就觉得街上的人都是NPC,而我也是。我是什么样的存在?我总是失去一些激情,在其他地方补充这些平衡,这让我逐渐开始不认识自己… 带着这些问题,我想开始仔细整理。 Chino的新篇章。(*^▽^*)
请给我100个不喜欢郁金香的理由!\(^o^)/~ 它们包含爱、慈善、名誉、美丽、祝福、永恒、爱的表达和永恒的祝福... 作为球花属,它们的颜色组合和花语是无限的数组~
六月飞雪 百宝箱
酷酷嗒彩虹Idea, 框架完整,功强大,团队开发首选,虽然没有Eclipse轻量,不适合初学者了解Java结构,待基础知识扎实后,可进一步选择Idea来进行项目的开发。
1. Idea 够用快捷键
- psvm 或 main + Enter ----------》main 入口程序
- sout + Enter ----------》println 输出
- Shift + Ctrl + F10 ----------》运行当前程序
- Shift + F9 ----------》Debug 调试
- fori ----------》普通 for 循环
- itar ----------》生成 array_for 循环
- iter ----------》增强 for 循环
- Shift + F6 ----------》文件重命名
- Ctrl + D ----------》复制当前行
- Ctrl + Y ----------》删除当前行
- Ctrl + / ----------》注释当前行
- Ctrl + F ----------》查找文本
- Ctrl + R ----------》替换文本
- Shift + Ctrl + Alt + L ----------》格式化代码
- Alt + Insert ----------》调取 重写、构造器和 get*set 生成器
2. idea 心动主题鉴赏
为了适配各种不同的开发心境,我发掘了不同的 Idea 主题 Theme ~
配色方案从外观与行为中的编辑器中进行替换 ~
以下是我总结的前三位榜单~(*^▽^*)
Doki Theme 这个主题真的是非常的Lovely了,开发者也在持续更新,喜欢二次元的朋友不要错过,有很多猛男专属皮肤~
插件起始界面~ 这个免费插件做的也太良心了,每个动漫人物都有一个这样的起始主题~ 小细节很到位啊~
这里我自由搭配了我比较喜欢的九个版面,Doki里有很多选择可以进行DIY组合~
还有一个特别惊喜的小设计,每次我打开 Idea 之后他就会给我一个不同的随机动画,目前还没见到重复的,我试了那么多主题,这个真的是没有之一~
报错的时候会给你一个负向的即时反馈,再运行正确后,就会给你一个正向的反馈~
Vuesion Theme & Monokai Pro Theme 并列上榜 感觉有了全面到位的Doki,其他都不香了~ 这个也就是带了个红边边特别一点~
Monokai Pro Theme 配色还算可爱,看着比较舒服~ 也比较轻量~
Github 性冷淡系列皮肤
三种性冷淡经典配色~ 低调男生,专业首选~
3. Gitee 微缩使用指南
因为 Wall 的原因导致 GitHub 极其难用,国内 Gitee 访问实在令人心情舒畅,只要网速正常上传随随便便,版本控制一比一全仿,还可以与GH同步,我真心被圈粉,作为个人私有库管理文件也超雕哦 O(∩_∩)O~
Gitee 仅可支持5人协作,白·嫖的话是够了,反正我的团队不超过5个人,吼吼吼~
1. 版本控制 * 基本解读~
2. 使用 Git 超简单!
下载最新版本 GIT 后,就可以搜到它了 ~
总结一句话:Git是一个基于版本控制的发布工具~
3. Git 几句简单命令 ~
git init
git remote add
+ 关联远程库的名字
+ 要关联的远程库链接(https开头)
git remote -v
git remote rm
+库名
(*慎用,就别用了,想好了去网页上删)
git add
+ 本地文件名/文件夹名
git commit -m
+ "注释内容"
git push
+ -u
+ 远程主机名
(默认叫origin) + 库的分支名
(默认叫master) -u 的意思是把当前设置为默认的推送地址~ 例如:git push -u origin master
git push
+关联名称
如果要指定分支推送,必须加上远程地址,例如:git push gitee master
git config -e --global
git config -e
通过命令行,git可以push同样的东西到不同的版本控制平台中~
3. 配钥匙 环节
只有配了钥匙才能让 Git 链接上 Gitee,打开 Git Bash,输入你在 Gitee 上的账号密码,就会显示登陆成功的信息了~
在命令行中登陆你的gitee~
ssh -T git@gitee.com
设置提交代码时的用户信息:
$ git config --global user.name "chino"
$ git config --global user.email XXXXX@126.com
在命令行中获取你的 ssh key - 链接 gitee 用的公钥,它们会保存在你的盘符中~
ssh-keygen -t rsa -C "XXXXX@126.com"
按照这个步骤走,将会自动生成钥匙在.ssh内~
公钥 public key 被存在id_rsa.pub里,我们需要把里面的文本CV进Gitee配置公钥的地方~
从Gitee网页上登陆,找到SSH公钥,起个 Keylala 的标题,把id_rsa.pub内的文本拷进来~
4. 使用 SourceTree 图形 GUI 推送源代码~
不需要使用命令行,也可以实现代码的快速推送!Wins系统 和 Mac OS 都可以用 SourceTree 图形界面来实现~ 我之前总结过用ST实现实时推送 Github 的绑定指南(那个推送确实有点痛苦),大家可以参考那篇搭配着理解绑定Gitee,这里的过程将简化处理,这里主要是介绍用ST 成功链接Gitee的简单教程贴~
从Gitee 粘贴本仓库的地址到第一栏~其他东西一般就自动生成了~ 第二个地方是你要存本地的地方,尽量不要选择放在C盘,第三行是本仓库名字,要注意填写正确~ 只要它显示:这是一个Git仓库,就能正常克隆~
这个仓库上的内容已经被保存到本地,可以开始其他操作了~
当你那个本地保存的文件有任何变动,刷新后那些被更新的文件就会出现在未暂存文件里,点击暂存所有,你的文件就被保存在上面的已暂存文件里,我这里仅仅是打算更新一个README~ 这里特别注意,你的本地文件夹不要乱放有的没的混在里面被更新~
挺好挺好~ 这样再去Gitee上看呢,我加的那句话就已经被更新好啦~
4. 经典电子生活
神操作 No.1:Wins - 发送 奇怪的应用 到桌面
有很多软件下载下来,桌面不出现应用程序,为了使用便捷需要设置桌面快捷方式,之前我一直复制粘贴,很容易再次打开因为地址的原因就报错,以下是正确版本~
神操作 No.2:Wins - 图片中的创建时间隐藏的小秘密
如果你想知道哪张图片的具体创建时间点,就可以杀进具体某个图片的属性中去,之前我电脑上扫描的文件,它的创建时间无论我后期怎么修改,创建时间都永远是最早那个时间点,因此,一般没有特别加密和特殊处理过的文件的创建时间并不会被销毁掉~ 哎呀,我到底在让你们注意什么呢。。。
神操作 No.3:爆好用的企鹅截图 系统工具 ~
Wins自带的截图工具太麻烦了还要我打开进行确定,有些时候还不灵光~ 使用QQ截图完美解决这一问题~ 只要QQ健在,一般通过Ctri+Alt+A
进行截图,Ctrl+Alt+S
进行录屏,至少日常够用了,不卡顿,超级灵光,但一定要记得截图后,特别是P完各种箭头,要直接Ctrl+S保存截图,一般我就放到桌面,再挪到其他地方去~
可以自行在QQ设置里设置属于你的QQ热键,对于各位资深企鹅大佬(包括我在内 o(* ̄︶ ̄*)o),以前我怎么都不知道这个这么好用呢?(*^▽^*)。
QQ长截图,Ctrl + Alt + A 后,工具栏中有一个小剪刀,唤醒长截图后,一拉到底,使用非常方便~ 尤其是截图超级长的代码或通讯聊天记录~
5. 开源许可证 - 选择指南
这几款是常用开源许可证的选择,宽松一点的我一般选择 Apache 系列,如果不想别人作为商业用途就选严一点的GPL,下图是在Gitee上添加开源项目的开源 许可证~。
弱著佐权(copyleft )许可证,主要为类库使用设计的开源协议,可以被商业软件作为类库引用并发布和销售,适合作为第三方类库被商业软件引用。
MPL允许在其授权下的源代码与其他授权的文件进行混合,包括私有许可证。
强著佐权(copyleft )许可证,出发点为代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。
宽松许可证,介乎标准的 copyright 与 GPL 的 copyleft 之间。
宽松许可证,MIT 内容与三条款 BSD 许可证(3-clause BSD license)内容颇为近似,但是赋予软件被授权人更大的权利与更少的限制。
宽松许可证,Apache 许可证要求被授权者保留著作权和放弃权利的声明,但它不是一个反著作权的许可证。
允许自由和不受限制的使用和修改开源作品,但如果你把此开源作品作为服务提供给别人,你也必须在 SSPL 下公开发布任何修改以及管理层的源代码。
非商业许可证,如果商用需要获得商业授权。
他人修改源码后,是否可以闭源呢?
6. Java 自体导包 - 划重点
刷个厕所冷静一下~ 吼吼吼~ 自体导包主要为了防止整体项目出问题,因为一个文件报错其他文件就跟着报错~ 另外,导包的好处是,可以把各种不同类型的“类”都归纳好,就像放在不同的文件夹里~ 如果什么都写在一起,过一段时间之后自己都看不懂~ 这一条不是为了总结用法,只是为了提醒一下有时候程序报错要检查好也许是这个问题的~
就算是在一个项目里不同的包,或者在同一个包里,有的时候引用也需要导包去调用里面的内容。这句的翻译是:导入具有静态 static属性的在 yaya包的命名为 Wux 的 java文件里的 wood 变量。
这是在运行文件包(domo包)中导入具有静态属性的别的包(这里的例子是yaya包)的java文件,*代表包中的全部信息都可以被调用。
在入口程序的java文件中,导入此包的Animal类(项目中的父类)和 Siyang类(饲养员类)~
Eclipse 导入外部包的基本操作:鼠标悬浮在划红线的词上,点击import XXX, 或者点击红线关键词,Ctrl + Shift + O, 一键自动导包。
7. idea 中文乱码老梗
中文写代码,每配置一个新软件,都需要注意这个问题,Java中默认的编码方式是Unicode,而中文通常文件的编码都是基于GB2312/BIG5,且Java在网络传输中使用的编码是"ISO-8859-1"~ 奇怪的是我的涵盖中文的Java项目在Eclipse里面配置的是UTF-8,但是在Idea中却是用GBK才能正常显示,所以有时候要不断试错才能寻找到解决方案。
Idea右下角中会显示项目具体使用的是哪一种编码,这个是我在Eclipse当中的项目导进来后改设置的GBK~
这是我在idea当中建立的新项目显示的项目编码 UTF-8
文件编码中,可
自定义显示全局编码和项目编码,只能通过具体情况具体来设置和解决,因为这件事就是很迷~
8. idea 中 JDK 配置靠谱方法
Idea 中有一个叫做 SDK 的概念,Software Development Kit 中文意思是“软件安装工具包”,可以在 SDK 里线上直接下载 JDK 的各种版本,目前开发程序我统一使用的是1.8 的版本(但这个版本我在 Eclipse 里会乱码,Eclipse 里我用1.5版本,我也不知道为什么,这… ),所以 Idea 的好处是不需要本地安装 JDK 也可以轻松一步到位~
在项目结构中调整JDK的基本方法。
在Idea中新建普通Java项目,可以指定本地下载好的JDK。
选择放在本地的JDK目录~
或者,直接在新建项目中下载指定版本JDK。
在项目结构中的SDK里设置IDEA平台的全局JDK。
为导入的其他项目修改配置。
导入一个 Eclipse 项目。
选择存入本地的新项目目录,然后将IDEA与Eclipse做一个链接。
选择要导入的项目,然后就会跳进配置JDK的狗血页面。
安装匹配Eclipse里面的JDK,或者配置指定的JDK。
如果不能显示,就杀到项目结构中,修改下载好的指定项目的SDK。
但如果像这种,就很头疼。 项目必须统一匹配同一种 JDK,才可以成功解析,这个例子是 CDC-1.0%Foundation-1.0。
遇到这种情况,如果很难get到那个奇怪的JDK,项目代码很少,可以考虑在 Idea 新建工程文件,然后将源代码用记事本打开,一页一页复制粘贴,这是最笨的方法。或者是杀手锏:Idea中的一键反编译,进入bin里面就能看到了,将每一个文件全选,粘贴到src里。
把反编译好的文件粘贴过来,文件就配置成功了!不管以前的工程文件JDK如何狗血,我们可以设置新的项目JDK来管理在其他应用中的旧项目了。
9. Eclipse 内心奔腾的小马
Eclipse出的瓜还少吗?
1. 哎哟!又是UTF-8设置…
Content Types里有一个Java Source File,Java Editor中的Default encoding 自填 UTF-8,这一步是为了将编码统一设置为UTF-8。
或者是把全局编码设置成GBK,随你咯~
2. 哎哟!我的Eclipse快捷键又用不了了…
什么?快捷键失效!为什么会这样?先确认一下是否选中了Java编辑器~
确认选对了昂~
上一步如果没有解决,就杀进Preferences - General - Keys, 进行Restore Command的操作,进行重置快捷键的操作~
3. 哎哟!输入入口程序就报错?…
当你一输入入口程序,就显示这个报错的话~。。。。说明你这个Java项目的src文件没有设置Path!
你在Eclipse里看见的src是这样的,像文件夹一样,特别是导入项目的时候出现的一些整合性BUG~
右键src后 Build Path,Use as Source Folder~
你看,变成正常的包了,src的图标也变成放着包的文件夹了,那个报错就被成功解决了~
4. 哎哟!Eclipse快捷键唤醒 ?终极杀手锏…
把这段添加到:.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
Preferences - Content Assists 里面,具体操作如下~ 这是通过
键盘传输的方式来唤醒补全提示,就像这样哦~
现在我输入 main或者syso,直接enter就能用~
5. 一个神奇的jre问题被解决了!
盒子给我打叹号,还没有jre解析,怎么办哦?每次从外部导入文件都出现这个问题~
右键带叹号的项目,点击Build Path - Configure Build Path~
进去后选择当前页面 Java Build Path的Libraries里的JRE,他显示unbound,说明没有绑定好~
双击进入JRE 编辑Library,选择好需要的jre~
你看你看,更新好的jre显示出来了~
叹号消失了,并且那条JRE Library终于出现 ,项目可以运行了!
10. 十分钟就会:Linux 含 泪 教 程
我用的是UBUNTU最新版本~ UBUNTU是Linux系统的一个图形操作系统,除此之外还有Debian...国产之光的话,是Deepin 深度操作系统,最像Window系统的Linux管理系统,并且兼容大多数国产软件。我认为UBUNTU唯一的缺点,就是解决一系列关于中文乱码的问题。此外,为什么是含泪教程,因为。。。你们10分钟就看完了,我用了很久时间总结出来,当然含泪(#^.^#)~
以下是我常用的Linux命令,O(∩_∩)O哈哈~~
Ctrl + Alt+ T ----- 打开终端
Ctrl + D ----- 关闭终端
google-chrome
------ 启动 google ./pycharm.sh
------ 启动 pycharm
sudo apt-get install
(加软件名)
sudo apt-get --purge remove
(加软件名)------ 彻底卸载某程序包
ps aux | less
------ 显示所有进程 ifconfig
------ 查看本地ip地址 ps -A
/ ps -e
------ 查看系统中每一个进程 top
q
退出,h
进入帮助 ------ 运行中程序的动态实时视图 pstree
------ 显示进程树状图 source .bashrc
------ 启动 bash文件 alsamixer
------ 调节音量
cd ..
------ 返回上一级 cd ../ ../ ../ ../
------ 返回主菜单 cd Documents/
------ 可以通过 Tab键 自动补全
ls
------ 查看当前文件夹的列表 ls -a
------ 显示隐藏文件
locate test.file
查找具体文件 注意:sudo updatedb
后,再使用locate
的功能
flameshot gui
启动截图工具 Ctrl Q
屏幕截图 快捷键(可自定义)
touch
---- 新建文件 rm -i
+ 文件名 ---- 三番五次确认删不删这个文件 vim
---- 查看文件 vi
---- 编辑文件 i
/ o
编辑文件 Esc
退出编辑
:wq
---- 保存文件并退出 :w
---- 保存文件但不退出 :w!
---- 强制保存,不退出 :w file
---- 将修改另存到file中,不退出 :wq!
---- 强制保存文件并退出(我一般就用这个) :q
---- 不保存文件并退出 :q!
---- 不保存文件并强制退出 :e!
---- 放弃所有修改,从上次保存文件开始
mkdir
---- 新建文件夹 rmdir
---- 删除文件夹 tar -zxvf
---- 解压压缩文件夹
#!/bin/bash
#balabala
echo "Hello World!"
bash my.sh
/ source my.sh
/ ./my.sh
pip install pillow==版本号
— 安装指定版本 pip show pillow
— 查找当前版本信息 pip unstall pillow
— 卸载版本 pip install --upgrade
+ 库名 pip list
---- 列出所有的包 pip freeze
---- 列出所有的包和版本
wget www.hostbuf.com/downloads/finalshell_install_linux.sh
我用conda
虚拟机来启动 python
,不容易配置失败 conda activate loveapy
(后面的名字是我自己设置的哦~)
python3 -V
— 查看python当前版本
pip install -i http://mirrors.aliyun.com/pypi/simple/ numpy --trusted-host mirrors.aliyun.com
替换 numpy
(换成其他的python包
,这里用的是)
sudo apt-get install bluez*
— downloadslsusb
sudo shutdown -h now
rfkill block all
---- 停用 所有设备 rfkill block wifi
---- 停用 wifi
如果我们没有相遇 If Or Not
绘制流程控制图
If 选择结构
1. 单分支选择结构
特别注意:if 后面括号里的结果必须是布尔值。这个的意思就是,如果 if ( n = 1),这就属于是赋值的情况,只有 if (n >= 1), 这才成立。if (这里可以随意通过很长很长的长难句进行判断…)
单分支if选择结构的逻辑流程图长这样~
单分支选择结构 --- 语法:
if(条件-结果必须是布尔值){
条件成立时执行的语句
}
2. 双分支选择结构 (if-else)
双分支if选择结构的逻辑流程图长这样~
双分支选择结构 --- 语法:
if(条件-结果必须是布尔值){
条件成立时执行的语句
}else{
条件不成立时执行的语句
}
3. 多重分支选择结构(多重 if-else)
if-else
,可以简单理解为:如果,那么;否则,那么,的逻辑关系~1.如果对取值范围的两端都进行约束,此时可以随便排列 2.如果只对取值范围的一端进行约束,从取值范围小的开始排列
多重分支if选择结构的逻辑流程图长这样~
多重分支选择结构 --- 语法:
if(条件1){
条件1成立时执行的语句
}else if(条件2){
条件1不成立条件2成立的时候执行的语句
}
........
else if (条件n){
之前的n-1个条件都不成立,条件n成立的时候执行的语句
}else{
所有条件都不成立时执行的语句
}
这里有一个小例子,加深你记住选择结构,通过用户输入爱的属性值,来实现Chino对你的法语表白~
呵呵~ 这反馈惊了。。。
4. 嵌套if选择结构
嵌套if的逻辑流程图长这样~
嵌套if选择结构 --- 语法:
if(条件1){
if(条件2){
条件1条件2都成立执行的语句
}else{
条件1成立条件2不成路执行的语句
}
}else{
条件1不成立执行的语句
}
这个例子是基于某人的考试成绩,来决定是否能吃上西瓜的问题~ 在成绩大于 80 的情况下,如果吃的东西是西瓜,就输出吃上西瓜,要么只要设定的不是西瓜,就只能吃上米饭,如果成绩不在这个奖励西瓜的范畴内,就什么都吃不到了~,嵌套本质上可以无限套,但不建议无限套~
今天考了30分,西瓜和米饭都吃不上了!
Switch 选择结构
Switch 就像电源开关一样~ 特别注意:switch() 的括号里面不能够是double的类型,并且不可以放置表达式,这一点和if选择结构完全不同;switch的()里面只能放置 int\short\byte\char\枚举\String 这些数据类型。
switch的逻辑流程图长这样~
switch选择结构 --- 语法:
switch(int\short\byte\char\枚举\String){
case 常量1:
语句;
break;
case 常量2:
语句;
break;
...
default:
语句;
break;
}
这是一个switch的例子,还是对chino投入爱的百分比,来输出chino对你的法语表白,这里主要区别是,必须输入字符串第一的时候才能正确输出第一句话,是一一对应的,default默认值则是除了这些一一对应情况之外的其他所有情况。
当我输入“第三”时,Chino给了我对应第三条本该有的固定反馈~
当我输入其他非设置好的字符串的时候,就不符合那三条了,属于其他情况,所有便输出默认值~
其他小知识:break的基本常识~
break 语句有两种形式:标签和非标签。 switch 语句中看到的 break 语句是非标签形式。 而非标签 break 用来结束 for,while,do-while 循环。
其他小知识:switch与if的基本区别~
其他小知识:关于“等值情况”的概念~
其他小知识:比较switch和if多重if-else的相同点和不同点~
都是用于处理多分支条件的结构 只能处理等值条件判断的情况 没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况
恋爱循环 Love Loop
我不是一个二次元宅男,但频繁的分享这些图可能确实容易被误解哟~ PS:我只是为了学习记住知识点~
循环四要素
break
常用于 switch 结构和循环结构中,continue
一般用于循环结构中 break语句
是终止某个循环,程序跳转到循环外的下一条语句 continue语句
跳出本次循环,今日下一次循环 return
是结束某个方法体
这首名曲说的如此透彻,如果表白了关系就会消失的话,那就别说了。。。
While 循环
第100个好好学习天天向上的好孩子在哪呢?\(^o^)/~
while 循环的魔板:
循环初始化
while(循环条件-布尔值){
循环操作
循环迭代
}
用户登陆购物平台,输入错误登录信息登陆机会就会减少,输入三次过后就没有机会了,是一个自减的关系~
For 循环
for循环 --- 语法:
for(循环初始化;循环条件;循环迭代){
循环操作
}
for循环次数固定,for比while更简洁~
外层循环用while,内层循环用for,计算学员chino的5门课程成绩的平均值~
for循环和if判断都用上了,通过continue小于60,过滤掉不及格的人数,算出及格的人数和及格比率~
请观察数字的迭代关系,可放置多个变量在一个for循环中~
Do-while 循环
do while
在执行时,首先将do内循环体执行一遍,在循环体执行结束之后,会判断while中的循环条件是否成立,若成立,则循环体继续执行。若不成立则将终止循环。所以不难看出,不管循环条件是否成立,do while
循环最少都会执行一次。 有些小朋友不喜欢用Do-while
循环~
do- while 循环 --- 语法:
do{
循环初始化/迭代
循环操作
}while(循环条件-布尔值){
}
为循环设置关键字:
设置什么名字都行,主要是为整个循环命名~
exit: while(true) {
break exit; 通过这个自定义的关键字跳出循环
}
增强 For 循环
主要是配合数组来使用~ 1.增强for使用增强for循环的时候不能使用集合删除集合中的元素; 2.增强for循环不能使用迭代器中的方法,例如remove()方法删除元素; 3.增强For循环有遍历对象,普通for循环没有遍历对象;
增强for循环---语法:
for(数据类型 变量名 :遍历的目标){
}
数据类型 变量名:声明一个变量用来接收遍历目标遍历后的元素
for(数据类型 变量1 :数组/集合){
System.out.println(变量1); //直接打印变量1
}
立体循环图形大赏
外层循环循环操作是换行,循环变量变化的次数决定了图形的行数 内层循环循环操作是输出*,循环变量变化的次数决定了一行中有多少个*
1. 平行四边形
用嵌套for实现平行四边形图案的输出~
2. 三角形
全部用while嵌套实现的贴边三角形,代码长这样~
3. 等腰三角形
用嵌套for循环生成等腰三角形~
4. 菱形
用嵌套for循环生成对称等腰三角形的拼合,就是菱形~
5. 长方形
生成矩形形状,这里用的是while循环在外,嵌套for循环在内的方法~
使用嵌套for循环生成的 - 梦的彼岸,就是循环的长方形啦~
6. 圣诞树
用嵌套for循环生成傻傻的圣诞树图形~
7. 数字正方形
这三个数字正方形的数字排列方式不同,第一个是列的数字不同,第二个是行的数字不同,第三个是数字圈的循环~ 通过Math.abs()方法,实现数字的绝对值~ 使用for循环最终实现图形输出~
8. 最酷的爱心
这个真的就是太炫了~for循环反反复复嵌套。想要代码可以去我的 Gitee/Github 主页找找~
9. 倒三角形
通过while和for的嵌套实现简单的倒三角图案~
10. 空心菱形
空心菱形也是分成上下部分,两个空心的等腰三角形,代码如下~
11. 数字三角形
数字三角形,分成左右两半来输出,代码长这样~
12. 梯形
梯形图案代码长这样~
13. 反倒三角
用while和for循环搭配实现~ 第一层是空格,第二层依次递减~
有趣 VS 真有趣~
闰年判断方法
这里是用选择结构的知识点实现的~
if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
System.out.println(year + "年是闰年");
}else {
System.out.println(year + "年是平年");
}
输出年月日的天数
通过switch方法实现在不同年不同月的具体天数~
九九乘法表
用简单的嵌套for循环输出九九乘法表~
equals 用法汇总
equals方法主要用途就是引用字符串,最好用了~ 以下是equals用法的基本概括~
关于equals的最简单用法:
第一种写法:变量名.equals("值")
第二种写法:"值".equals(变量名)
我较倾向于第一种写法。
在英文引用中,equals区分大小写。
检验语句:(!"y".equals("Y")){}
用 equals 输出性别 sex:
System.out.print("请输入性别:");
String gender = ins.next();
if (gender.equals("男")){
System.out.println("我的男生");
}else if (gender.equals("女")){
System.out.println("我是女生");
}
这个例子里,对比了英文小写的yaya和大写的YAYA,是否会根据识别大小写来生成answer答案~
如果设置布尔值的话,可以确定 a 是不等于 A嗒,因此equals方法是区分大小写的~,
接收器识别到相应字符串的时候,用equals 输出对应性别~
1、
StringBuffer类
中没有重新定义equals
这个⽅法,因此这个⽅法就来⾃Object 类
,(Object 类中的equals
⽅法 是⽤来⽐较“地址”的) 2、equals
⽅法对于字符串来说是⽐较内容的,⽽对于⾮字符串来说是⽐较其指向的对象是否相同的。 3、==
⽐较符也是⽐较指向的对象是否相同的也就是对象在对内存中的的⾸地址。 4、如果是基本类型⽐较,那么只能⽤==
来⽐较,不能⽤equals ,如果是基本类型的包装类型,⽐如Boolean、Character、Byte、Short、Integer、Long、Float、Double等的引⽤变量那么⽤equals。
生成随机数字
第一种办法:通过random方法实现
在JDK的java.util包中,有一个Random类,它可以在指定的取值范围内随机产生数字。Random类,是非常简单的实现随机数的基本方法~
通过这种办法可以很方便的生成各种伪随机数,不同的数据类型一步搞定~ 以下的例子通过for循环实现自动生成的5个不同数据类型的随机数~
通过 nextLong() % 100,输出5个宝 --- 100以内的随机数。这个例子是随机选取正负100内的所有数字。
通过Math.abs(),输出5个宝 --- 限制设定的随机数为非负数。这个例子是随机选取5个10以内的正整数。
第二种办法:通过Math.random()方法实现
把随机生成的个位数,十位数,百位数相加的栗子,重点是以此类推,生成4位数,就要*10000~
Math.random()生成的默认值和random类里的nextDouble()方法基本一致,这个方法里不支持传输int类型。
要想传输特定区间的int整型数值,需要自己写一个方法。我这里写了一个suiji的方法,直接调用方法即可。
这是chino用Math.random()写的生成区间int的随机方法(必须强转)~
第三种办法:随机文本的生成实现
这个例子实现了在数组中的5种颜色的随机文本的输出~
这个例子随机生成5个无意义的四字词语,调取的chino写的sjText方法实现。
通过char字符写的基于Math.random的循环,实现随机生成文本的方法。
什么是"穷举法"?
Maple
: 就是列举事物。 将所有可能的条件都展示出来,找出其中特殊的存在~ (找事物的发展规律) 穷举法也称为“枚举法”,是完全归纳,仅举出有限几种情形来证明一个命题,叫不完全归纳,无论完全不完全,归纳法提供的结论只是或然成立的,不具有演绎上的确定性,穷举算法效率不高,但适用于一些没有明显规律可循的场合。
在这个例子中通过穷举法,用嵌套for循环计算关于马的组合,涉及到的数学概念为笛卡尔积,也就是两个集合相乘的结果,是一种在算一种事物有几种组合的方法。
About 包名 - 新命名规范
有你在身边,不管是什么关系都好~
Java包命名要求全字母小写,为了保障每个Java Package命名的唯一性,在最新的Java编程规范中,要求开发人员在自己定义的包名前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以多数开发人员采用自己公司在互联网上的域名称作为自己程序包的唯一前缀。
indi :个体项目,指个人发起,但非自己独自完成的项目,可公开或私有项目,copyright主要属于发起者。包名为“indi.发起者名.项目名.模块名.……” pers : 个人项目,指个人发起,独自完成,可分享的项目,copyright主要属于个人。包名为“pers.个人名.项目名.模块名.……”。
priv :私有项目,指个人发起,独自完成,非公开的私人使用的项目,copyright属于个人。包名为“priv.个人名.项目名.模块名.……”。
team :团队项目,指由团队发起,并由该团队开发的项目,copyright属于该团队所有。包名为“team.团队名.项目名.模块名.……”。
com :公司项目,copyright由项目发起的公司所有。包名为“com.公司名.项目名.模块名.……”。
一点点java数学方法
1. 计算阶乘 n!
涵盖流程控制,以及while和for的两个版本实现用户输入阶乘数字输出数据~
计算奇数阶乘的前十项之和~,这里需要注意要用Long型去输出,而不是int~
2. 计算同构数
计算并生成1-10000中