初学java语言的小白,日常记录个人所学、所思、所感、所获。
请java语言行业的前辈们多多指教, 目前从事汽车制造行业。
属于零基础自学,愿未来自己感谢今天的选择和努力。加油!
2021、8、22更新
笔记:了解循环语句的组成部分,以及各部分对应的功能。
A.循环结构的基本组成,一般可以分为四部分:
1.初始化语句:在循环开始最初执行,而且只做唯一一次。
2.条件判断:如果成立,则循环继续,如果不成立,则循环退出。
3.循环体:重复要做的事情内容,若干行语句。
4.步进语句:每次循环之后都要进行的扫尾工作。每次循环之后都要执行一次
2021、8、22更新
笔记:
1.在编写代码时,符号顺序一定要正确,观察下面两张图片,你会发现仅仅是<=的符号顺序发生改变,整个程序就开始报错。
2.for循环的标准格式如下
for(初始化语句;条件判断;步进语句){
循环体;
}
3. for(初始化语句;条件判断;步进语句)可以简写为条件判断.for变量
例: for (int i = 1; i <= 100; i++) 的简写为: 100.fori
public class Demo01For {
public static void main(String[] args) {
//格式
// for(初始化语句;条件判断;步进语句){
// 循环体;
// }
for (int i = 1; i <= 100; i++) {//i++-->i=i+1
System.out.println("我错了,原谅我吧"+i);
}
System.out.println("程序结束");
}
}
2021、8、22更新
笔记:
1.for循环与while循环的具有通用性。(二者可以相互转换)
2.while循环与for循环可以都分为以下四个部分。
初始化语句
条件判断
循环体
步进表达式
3、while循环的格式如下:
标准格式:
while(条件判断){
循环体;
}
拓展格式:
初始化语句:
while(条件判断){
循环体;
步进表达式;
}
/*
while循环有一个标准格式,还有一个拓展格式。
标准格式:
while(条件判断){
循环体;
}
拓展格式:
初始化语句:
while(条件判断){
循环体;
步进表达式;
}
*/
public class Demo02While {
public static void main(String[] args) {
//for循环和while循环二者其实是互通的
//for循环
for (int i = 1; i <= 100; i++) {//i++-->i=i+1
System.out.println("我错了,原谅我吧"+i);
}
System.out.println("程序结束");
System.out.println("======");
//while循环
int i=1;//1.初始化语句
while (i<=100){//条件判断
System.out.println("我错啦,原谅我吧"+i);//循环体
i++;//步进表达式
}
System.out.println("程序结束");
}
2021、8、22更新
笔记:
1.for循环与do while循环也可以进行相互转换
2.【重点思考】: 在课程学习当中,两次定义变量i,为什么程序没有报错。
方法一: for (int i = 1; i <= 100; i++) {
方法二: int i=1;//1.初始化语句
个人分析:第一个变量定义在for循环里面,循环结束变量失效。
第二个变量定义在方法里面,二者不冲突。如果将do-while循环与for循环调换位置,结果?直接报错【注意】
/*
do while循环
无条件执行第一次循环
do while循环的的标准格式
do{
循环体;
}while(条件判断);
do while循环的的拓展格式
//初始化语句
do{
循环体;//循环体
步进语句;//步进语句
}while(条件判断);//条件判断
*/
public class Demo03DoWhile {
public static void main(String[] args) {
//for循环
for (int i = 1; i <= 10; i++) {
System.out.println("你好"+i);
}
System.out.println("======");
//for循环 翻译成为do while循环
int i=1;//初始化语句
do{
System.out.println("我也好"+i);//循环体
i++;//步进表达式
}while (i<=10);//条件判断
System.out.println("程序结束");
}
}
2021、8、22更新
笔记:
注意:用于循环的i++的位置特别关键,它需要在循环体内。
【重点】:下两图仅i++的位置不同,第二图无法打印输出。含义也不相同。
/*
题目要求:
求出1-100之间的偶数和
思路:
1.既然范围已经确定是1到100之间,那么我就必须从1、2、3…一直到100这么多个数字例一个一个进行检查。
2.总共有100个数字,并非所有数字都能用.必须要是偶数才能用,那么判断语句(if语句)偶数num%2==0;
3.需要一个变量,用来进行累加操作,就好比一个存钱罐
*/
public class Demo04HunderedSum {
//for循环
public static void main(String[] args) {
int sum=0;//定义一个求和的变量
for (int i = 1; i <=100; i++) {//循环1-100的数字
if(i % 2 == 0) {//判断是不是偶数
sum += i;//求和
}
}
System.out.println(“for循环偶数求和结果为”+sum);//注意打印输出的位置
//课后作业,将for循环转换成do-while以及while循环
//转型为do-while循环
int i1=1;
int sum1=0;//定义一个求和的变量
do{
if(i1 %2==0) {
sum1 += i1;
}
i1++;//注意步进语句要写在if语句之外,否则无法打印输出
}while (i1<=100);
System.out.println("do-while循环偶数求和的结果为"+sum1);
//转型为while循环
int i2=1;
int sum2=0;//定义一个求和的变量
while (i2<=100){
if(i2 %2==0) {//判断i2是否为偶数
sum2 += i2;//求和
}//这一步if语句完成
i2++;//注意步进语句要写在if语句之外,否则无法打印输出
}
System.out.println("while循环偶数求和的结果为"+sum2);
}
}
2021、8、22更新
笔记:
1.注意变量的作用域
/*
三种循环的区别
1.如果条件判断都没满足过,那么for循环和while循环将会执行0次,do-while循环将会执行至少一次。
2.for循环的变量在小括号当中定义,只有循环内部才可以使用
【即同一个变量可以在for循环内和外各定义一次】
3.do-while循环以及while循环初始化语句本来就在外面,所以出来循环之后还可以继续使用
*/
public class Demo05LoopDifference {
public static void main(String[] args) {
//1.如果条件判断都没满足过,那么for循环和while循环将会执行0次,do-while循环将会执行至少一次。
//for循环
for (int i = 1; i < 1; i++) {
System.out.println("大家好");
}//无输出
//2.for循环的变量在小括号当中定义,只有循环内部才可以使用
//System.out.println(i);//报错 找不到变量i
System.out.println("======");
//while循环
int i=1;
while(i<1){
System.out.println("大家好");
i++;
}//无输出
System.out.println("======");
//do-while循环
int i1=1;
do{
System.out.println("大家好");
i1++;
}while(i1<1);//打印输出一次大家好
//现在已经超出了了do-while循环的范围,我们仍然可以使用变量;
System.out.println(i1);//2 i1++执行了一次
}
}
2021、8、22更新
笔记:
break 在程序当中的打断,结束的意思
1.注意break的用法。
2.边学习边拓展,将之前学习的内容结合起来
/*
break关键字的用法有常见的两种:
1.可以用在switch语句当中,一旦执行,整个switch语句立刻结束。
2.还可以用在循环语句当中,一旦执行,整个循环语句立刻结束。打断循环
3.关于循环的选择,有一个小建议:
凡是次数确定的场景多用for循环,否则多用while循环。
4.拓展:
将for循环转换为while以及do-while循环
*/
public class Demo06Break {
public static void main(String[] args) {
//for循环
for (int i = 1; i <=10; i++) {
//如果希望从4次开始,后续全都不要了,就要打断循环
if(i==4){//如果当前是第4次
break;//打断循环
}
System.out.println("Hello"+"For");
}
System.out.println("======");
//将for循环转换为while循环
int i=1;
while (i<=10){
if(i==4) {
break;
}
System.out.println("Hello"+"While");
i++;
}
System.out.println(i);//4
System.out.println("======");
//将for循环转换为while循环
int i1=1;
do{
if(i1==4){
break;
}
System.out.println("Hello"+"Do-While");
i1++;
}while (i1<=10);
System.out.println("程序结束");
}
}
2021、8、22更新
笔记:
1.注意break语句与continue语句的区别
break语句表示立即终止,结束。
continue语句表示跳过当前次循环,马上进入下一次循环。
2.注意拓展2的顺序,即用XXX替代XXX打印输出,被替代对象要使用contineue跳过。替代对象语句放在被替代对象之前打印输出。否则contineue会熔断跳过。
/*
continue 跳过执行
另一种循环控制语句是continue关键字
一旦执行,立刻跳过当前次循环剩余内容,马上开始下一次循环
*/
public class Demo07Continue {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
//拓展2,用别的结果去替代4楼
if (i==4){
System.out.println("九层妖塔");
}
if(i==4) {//如果当前是第四层
continue;//那么马上跳过当前次循环,马上开始下一次循环(第五层)
}
System.out.println(i+"楼到了");
//拓展1 将之前的break语句联系起来
if (i==9){
break;
}
}
}
}
2021、8、22更新
笔记:
1.想要循环在特定次数停止,可以使用break关键字。
2.死循环在未结束循环之前,后面接任何打印输出语句都是无效的,导致程序报错。
/*
死循环:
永远停不下来的循环,叫做死循环
死循环的标准格式:
while(teue){
循环体;
}
*/
public class Demo08DeadLoop {
public static void main(String[] args) {
for (int i = 1;i<=10;i++ ) {
System.out.println(“哈哈”);
}
//标准死循环
while(true){
System.out.println(“I Love Java”);
}
//死循环在未结束循环之前,后面接任何打印输出语句都是无效的,导致程序报错。
//System.out.println("程序结束");//错误写法循环无法结束,此语句无法输出
}
}
2021、8、22更新
笔记:
1.注意循环嵌套的位置if(){
if(){
if(){
System.out.println(“xxxx”)
}
}
}
2.注意输出语句一定要在对应的作用域范围,即最里面的if语句{}内
例:对比下两图差异
/*
循环嵌套
以每天的时间为例
【注意】打印输出语句所在位置
实战练习;
1.在时间嵌套秒的循环
2.用嵌套嵌套打印一年当中的每一天
*/
public class Demo09LoopHourAndMinute {
public static void main(String[] args) {
for (int hour = 0; hour < 24; hour++) {//外层控制小时
for (int minute = 0; minute < 60; minute++) {//内层控制小时之内的分钟
//正确写法
System.out.println("现在是北京时间" + hour + "点"+minute+"分");
}
//错误写法 原因:虽然在hour的作用域 但是超出变量minute的作用域了
//System.out.println("现在是北京时间" + hour + "点"+minute+"分");
}
//拓展练习1,嵌套秒钟的循环
for (int hour = 0; hour < 24; hour++) {//外层控制小时
for (int minute = 0; minute < 60; minute++) {//内层控制小时之内的分钟
for (int second = 0; second < 60; second++) {//最内层控制分钟之内的秒钟
System.out.println("现在是北京时间" + hour + "点"+minute+"分"+second+"秒");
}
}
}
//拓展练习2,嵌套打印一年当中的每一天
//嵌套嵌套打印一年当中的每一天
for (int i = 1; i <= 12; i++) {
for (int i1 = 1; i1 <= 31; i1++) {
System.out.println("今天的日期是"+i+"月"+i1+"日");
}
}
}
}
2021、8、22更新
笔记:
一定要牢记什么是作用域,超出作用域变量和输出语句都会失效,本章节内容比较多,后续用得也多,没事反复观看练习。加油!明天会更好2021、8、22