Java结构
顺序结构
最基本的结构
选择结构
if单选择
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
public class IfDemo1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入字符串:");
String s = scanner.nextLine();
//equal判断字符串是否相等
if (s.equals("hello")){
System.out.println(s);
}
System.out.println("end");
scanner.close();
}
}
if双选择
if多选择
嵌套的if
switch多选择
可以比较字符串
switch(比较的字符串){
case"":
case"":
default:
}
public class SwitchDemo1 {
public static void main(String[] args) {
char grade = 'C';
//case穿透 //switch匹配一个具体的值
switch (grade){
case 'A':
System.out.println("1");
break;//可选
case 'B':
System.out.println("2");
break;//可选
case 'C':
System.out.println("3");
break;//可选
case 'D':
System.out.println("4");
break;//可选
case 'E':
System.out.println("5");
break;//可选
default:
System.out.println("0");
}
}
}
public class SwitchDemo2 {
public static void main(String[] args) {
//JDK7特性,表达式可以是字符串
//字符的本质还是数字
//反编译:java-----class(字节码文件)------反编译(IDEA)
String name = "哈哈哈";
switch (name){
case"zhangsan":
System.out.println("null");
break;
case"lisi":
System.out.println("null");
break;
case"wangwu":
System.out.println("null");
break;
case"哈哈哈":
System.out.println("ok");
break;
case"zhaoliu":
System.out.println("null");
break;
}
}
}
循环结构
while循环
while(布尔表达式){
//循环内容
}
只要布尔表达式为true,则会一直循环
需要一个让表达式失效的方式来结束循环
public class WhileDemo1 {
public static void main(String[] args) {
//输出1-100
int i = 0;
while(i<=99){
i++;
System.out.println(i);
}
}
}
public class WhileDemo2 {
public static void main(String[] args) {
//计算1+。。。。+100
int i = 0;
int sum = 0;
while(i<100){
sum+=++i;
//i++和++i的区别
}
System.out.println(sum);
}
}
do。。。while循环
do{
//代码语句
}while(布尔表达式)
dowhile是先执行后判断,while是先判断再执行
dowhile总是保证循环体至少被执行一次
public class DoWhileDemo1 {
public static void main(String[] args) {
int i = 0;
int sum = 0;
do {
sum+=i;
i++;
}while(i<=100);
System.out.println(sum);
}
}
for循环
for循环语句是支持迭代的一种通用结构,是最有效,最灵活的结构
for循环执行的次数是在执行前就确定的
IDEA快捷键100.for生成for(int i = 0;i<100;i++)
for(初始化;布尔表达式;更新){
//代码语句
}
public class ForDemo1 {
public static void main(String[] args) {
//计算0-100中奇数偶数的和
int oddSum = 0;//奇数和
int evenSum = 0;//偶数和
/*for (int i = 0; i < 100; i++) {
i+=1;
oddSum = oddSum + i;
}
System.out.println("奇数和为:"+oddSum);
*/
for (int i = 0; i <= 100; i++) {
if(i%2!=0){
oddSum+=i;
}else{
evenSum+=i;
}
}
System.out.println("奇数和为:"+oddSum);
System.out.println("偶数和为:"+evenSum);
}
}
public class ForDemo2 {
public static void main(String[] args) {
//用for循环输出1-1000内可以被5整除的数,要求一行3个
for (int i = 0; i <= 1000; i++) {
if (i%5==0){
System.out.print(i+"\t");
}
if (i%15==0){//每行3个,第三个数一定能被15整除
System.out.println("\n");
//System.out.println();
}
//println输出完会换行
//print输出完不会换行
}
}
}
public class ForDemo3 {
public static void main(String[] args) {
//打印九九乘法表
/*思路
1.先打印第一列i
2.再用一个循环j包起来用来输出行
*/
for (int j = 1; j <= 9; j++) {//*前的数
for (int i = 1; i <= j; i++) {//*后的数
System.out.print(j+"*"+i+"="+(j*i)+"\t");//\t就是tab的作用,空格,用print没有换行
}
System.out.println("\n");//换行
}
}
}
public class ForDemo4 {
public static void main(String[] args) {
int[] numbers = {10,20,30,40,50};//定义一个数组
//遍历数组的元素
for (int i = 0; i < 5; i++) {
System.out.println(numbers[i]);
}
System.out.println();
System.out.println("==============================");
for(int x:numbers){
System.out.println(x);
}
}
}
增强型for循环
主要用于数组或集合的
for(声明语句:表达式){
//代码语句
}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
break,continue
- break再任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句(break语句也在switch语句中使用)
- continue语句用在循环语句体中,** **,即跳过循环体中尚未执行的语句,接着进行下一次是否执行的判定。
浙公网安备 33010602011771号