怎么才能找到想做网站建设的客源,个人网页设计界面,中国全球门户网站,邯郸市建设局官方网站文章目录一. 顺序结构二. 分支结构1. if 语句2. switch 语句3、循环结构3.1 while 循环3.2 do while 循环3.3 for 循环3.4 break 和 continue三. 输入输出1. 输出到控制台2. 从键盘输入一. 顺序结构
顺序结构比较简单#xff0c;即程序按照代码书写的顺序一行一行执行下去。 …
文章目录一. 顺序结构二. 分支结构1. if 语句2. switch 语句3、循环结构3.1 while 循环3.2 do while 循环3.3 for 循环3.4 break 和 continue三. 输入输出1. 输出到控制台2. 从键盘输入一. 顺序结构
顺序结构比较简单即程序按照代码书写的顺序一行一行执行下去。
如果调整代码的书写顺序则执行顺序也发生变化 二. 分支结构
1. if 语句
if 语句的基本语法形式包括以下三种 代码示例 1、判定一个数字是奇数还是偶数
public static void main(String[] args) {int num 13;if (num % 2 0) {System.out.println(偶数);} else {System.out.println(奇数);}
}2、判定一个整数是正数还是负数
public static void main(String[] args) {int num -10;if (num 0) {System.out.println(num 是正数);} else if (num 0) {System.out.println(num 是负数);} else {System.out.println(num 是0);}
}3、判定某一年份是否是闰年
public static void main(String[] args) {int year 2023;if (year%4 0 year%100 ! 0 || year%400 0) {System.out.println(是闰年);} else {System.out.println(不是闰年);}
}注意事项 1、悬垂 else 问题
if / else 语句中可以不加花括号此时只能匹配一条语句 不加花括号时 else 总是和最近的 if 匹配
2、代码风格问题
3、分号问题
此处多写了一个分号导致分号成为了 if 语句的语句体而 { } 中的代码已经成为了和一个 if 无关的代码块此时不论 if 成立于否 { } 代码块里的代码都会执行
int x 20;
if (x 10); {System.out.println(hehe);
}
// 运行结果
hehe2. switch 语句
语法格式如下
switch(整数|枚举|字符|字符串) {case 内容1: {内容满足时执行语句;[break;]}case 内容2: {内容满足时执行语句;[break;]}...default: {内容都不满足时执行语句;[break;]}
}几点说明 根据 switch 中值的不同会执行对应的 case 语句。遇到 break 就会结束该 switch 语句。如果 switch 中的值没有匹配的 case就会执行 default 中的语句。建议一个 switch 语句最好都要带上 default注意 long、float、double 和 boolean 这几个基本类型的值不能做 switch 的参数。 代码示例 根据 day 的值输出星期几
int day 3;switch(day) {case 1: {System.out.println(星期一);break;}case 2: {System.out.println(星期二);break;}case 3: {System.out.println(星期三);break;}case 4: {System.out.println(星期四);break;}case 5: {System.out.println(星期五);break;}case 6: {System.out.println(星期六);break;}case 7: {System.out.println(星期日);break;}default: {System.out.println(输入有误);break;}
}3、循环结构
3.1 while 循环
循环条件为 true则执行循环语句否则结束循环。语法格式如下
while(布尔表达式){循环语句;
}注意事项 和 if 类似while 下面的语句可以不写 { } 但是不写的时候只能匹配一条语句。建议还是加上 { }和 if 类似while 后面的 { 建议和 while 写在同一行 代码示例 1、打印 1 - 10 的数字
int num 1;
while(num 10){System.out.println(num);
}2、计算 1 - 100 的和
int num 1;
int sum 0;
while(num 100){sum num;num 1;
}
System.out.println(sum);3、计算 5 的阶乘
int num 1;
int ret 1;
while(num 5){ret * num;num 1;
}
System.out.println(ret);4、计算 1! 2! 3! 4! 5!
int num 1;
int sum 0;
// 外层循环求阶乘的和
while(num 5){// 那内层循环求每一个数的阶乘int tmp 1;int fac 1;while(tmp num){fac * tmp;tmp 1;}sum fac;num 1;
}
// 最后输出结果
System.out.println(sum);3.2 do while 循环
语法格式如下注意最后 while 后面要加个分号
do{循环语句;
}while(循环条件);do while 不论条件成立与否必定先执行一次循环语句再判定循环条件 3.3 for 循环
语法格式如下
for(初始语句; 循环条件; 更新语句) {循环体;
}相比于 while 循环for 循环将初始语句、循环条件 和 更新语句合并在一起这样写代码时不容易遗漏。 注意事项 和 if 类似for 下面的语句可以不写 { } 但是不写的时候只能支持一条语句。建议还是加上 { }。和 if 类似for 后面的 { 建议和 while 写在同一行。建议有确定的循环次数时用 for必须先执行一次循环体时用 do while其他情况用 while。 代码示例 1、打印 1 - 10 的数字
for(int i 0; i 10; i) {System.out.println(i);
}2、计算 1 - 100 的和
int sum 0;
for(int i 0; i 100; i) {sum i;
}
System.out.println(sum);3、计算 5 的阶乘
int ret 1;
for(int i 1; i 5; i){ret * i;
}
System.out.println(ret);4、计算 1! 2! 3! 4! 5!
int sum 0;
for(int i 1; i 5; i){int fac 1;for(int j 1; j i; j){fac * j;}sum fac;
}
System.out.println(sum);3.4 break 和 continue
break执行此语句时退出匹配最近的循环。
continue执行此语句时会立刻进入下次循环判定循环条件)。
注意break 和 continue 都必须用在循环中【特殊beak 还可以用在 switch 中】二者不适用于 if 语句。
三. 输入输出
1. 输出到控制台
Java 中常用输出语句有以下三种形式
System.out.print(msg); // 输出一个字符串, 不带换行
System.out.println(msg);// 输出一个字符串, 带换行
System.out.printf(format, msg);// 格式化输出说明
println 输出的内容自带 \nprint 不带 \nprintf 的格式化输出方式和 C 语言的 printf 是基本一致的
2. 从键盘输入
我们在做 OJ 时经常要用到从键盘输入 n 组数据模板大致如下 注意事项 使用 Scanner 需要导入 util 包当循环输入多个数据的时候使用 ctrl z 来结束输入 (Windows 上使用 ctrl zLinux / Mac 上使用 ctrl d)