1.顺序结构
顺序结构就是一行一行的执行,从上到下的执行
System.out.println("helloworld");
System.out.println("java");
System.out.println("逻辑控制");
三行代码从上到下执行
2.分支结构
if else结构
if else if else 结构
if(表达式){
语句1;
}else{
语句2;
}
当if括号里面的表达式为true的时候,执行语句1,为false则执行语句2
表达式均为boolean表达式
举例:
int a=3;
int b=2;
if(a>b){
System.out.println("a>b");
}else{
System.out.println("a
switch case 结构
俗称开关结构
switch(整数 字符串 枚举 字符){
case 内容一:语句1;break;
case 内容二:语句2;break;
default :break;
}
用法:switch括号里的内容与case后面的内容进行匹配,匹配成功的话就执行里面的语句,break是跳出switch,如果case中没有匹配到,则最后执行default中的语句,然后跳出switch。
注意:switch中不可以是boolean,double类型,float类型,long类型
举例:
int a=10;
switch(a){
case 1:
System.out.println("helloworld");
break;
case 2:
System.out.println("java");
break;
default:
System.out.println("no found");
break;
}
如果语句中忘记写break了,则它会从你匹配到的那一条顺序执行,如下面的例子,与第一个case匹配到了,执行完语句,因为没有break,所以继续执行了case 2 的内容,然后执行了default的内容,最后结束了switch结构
int a=1;
switch(a){
case 1:
System.out.println("helloworld");
case 2:
System.out.println("java");
default:
System.out.println("no found");
break;
}
default是默认执行,当switch中的内容与case匹配不到,因此default所放的位置可以在任意位置,但最好放到最后,因为这样的代码更加清晰,这样也不容易出错,如果你放到前面的话,如果break没有写,这样执行过后会执行下面的case,这样会出错。
int a=3;
switch(a){
default:
System.out.println("no found");
break;
case 1:
System.out.println("helloworld");
case 2:
System.out.println("java");
}
另外switch是可以嵌套的,但应为比较容易出错,且几乎不这样使用,因此这里不再展示。
3.循环结构
while循环结构
while(循环条件){
循环语句;
}
使用:满足循环条件,则执行循环语句,执行完循环语句后,继续判断循环条件,直到循环条件不满足为止。
举例:
int i=1;
while(i<=10){
System.out.println(i);
i++;
}
初始条件是i=1,判断i<=10,然后打印,然后i++
然后再判断。
循环结构一般都会有:初始条件,判断的条件,改变语句达到终止条件
在这里就是,i=1 i<=10 i++。
注意点一:
值得注意的是一定要有到达不满足条件的改变语句,如上面的i++,因为这样才不会造成死循环
如例:
int i=1;
while(i<=10){
System.out.println(i);
}
1永远都小于10所以判断条件永远成立,便一直打印1,这样就造成了死循环。
注意点二:
while后面如果不加大括号的话,后面只能跟一条语句
while(循环条件)
语句1;
也就是while后面如果没有大括号的话,只能管一条语句。
for循环结构
for(表达式1:表达式2:表达式3){
循环体;
}
表达式1:初始化循环变量
表达式2:循环条件
表达式3:更新循环变量
执行顺序:表达式1-》表达式2-》循环体-》表达式3-》表达式2-》循环体-》表达式3 我们发现表达式1,只执行了1次
举例:
for(int i=1;i<=10;i++){
System.out.println(i);
}
其实for循环和while循环是类似的,都有判断条件,初始条件,更新循环变量,只是形式上的不同而已。
4.break 和 continue在循环中的使用
break 终止循环
for(int i=1;i<=10;i++){
System.out.println(i);
if(i%2==0){
break;
}
}
break的作用是结束该循环,如上图代码,当i可以整除2的时候,执行break,循环便结束了。
如果是多重循环的话,break结束的是break语句所在的那一层循环,也就是就近原则。
for(int j=1;j<=10;j++) { 循环1
for (int i = 1; i <= 10; i++) { 循环2
System.out.println(i);
if (i % 2 == 0) {
break;
}
}
}
多层循环当满足循环条件的时候,结束的是循环2,记住就近原则即可。
continue 终止本次循环,注意是结束的是本次的循环,而不是结束循环体
举例:
for(int i=1;i<=10;i++){
if(i%2==0){
continue;
}
System.out.println(i);
}
执行结果如下:
1
3
5
7
9
continue是这样执行的,当找到一个i可以整除2的时候,continue后面的语句就不再执行了,因此打印的结果如上,continue结束的是本次执行的循环。
注意点:
if(i%2==0){
continue;
System.out.println("helloworld");
}
continue后面跟语句会报错,因为系统认为continue后面的语句是执行不到的,因此系统会报错。
break和continue的使用要知道它们的区别:一个是终止循环,一个是结束本次循环,break和continue在程序编写时恰当的使用,可以提高效率,但也要正确使用。
5.输入和输出
在java中输出有三种语句:
System.out.println("helloworld"); 输出并换行
System.out.print("helloworld"); 输出不换行
int a=2;
System.out.printf("%d",a); 按照一定格式输出
java中的输入
用的时Scanner类,分别调用与之相关的函数
Scanner scanner=new Scanner(System.in);
int a=scanner.nextInt();
String b=scanner.nextLine();
double c=scanner.nextDouble();
但要强调一点:
1.nextLine()和next()都是输入字符串,但是next是遇到空格便结束了输入,而nextLine不会,它不是遇到空格结束,而是遇到回车结束输入。
举例:
Scanner scanner=new Scanner(System.in);
System.out.println("请输入你的名字");
String b=scanner.nextLine();
System.out.println(b);
运行结果:
请输入你的名字
zhu zi
zhu zi
举例:
请输入你的名字
zhu zi
zhu
以上就是两者的区别
2.nextInt()不能再nextLine()前面使用
Scanner scanner=new Scanner(System.in);
System.out.println("请输入你的年龄");
int a=scanner.nextInt();
System.out.println(a);
System.out.println("请输入你的名字");
String b=scanner.nextLine();
System.out.println(b);
}
结果:
请输入你的年龄
18
18
请输入你的名字
还没有输入名字就直接结束,这是java本身存在的一下约束,也可以说是缺陷,记住便可以了,以上便是输入和输出的说明。
还有一个经常考察的点,就是Scanner循环读入多个数字
Scanner scanner=new Scanner(System.in);
while(scanner.hasNextInt()){
int a=scanner.nextInt();
}
hasNextInt是判断缓存中是否还有整形数据,如果有则执行里面的语句,也就是输入一个整形数据。
猜数字小游戏:
输入一个数字,如果猜高了,便提示猜高了,如果猜低了便提示猜低了,如果猜对了,便提示猜对了。
public static void main(String[] args) {
Random random=new Random(); //Random是一个随机数的类
int GuessNumber=random.nextInt(100)+1; //之所以加1,是因为随机数是[0 100),注意是左闭右开,加1这样就可以生成1到100的数字了
Scanner scanner=new Scanner(System.in);
while(true){
System.out.println("请输入你要猜的数字");
int number=scanner.nextInt();
if(number==GuessNumber){
System.out.println("你猜对了");
break;
}else if(number
有错误的话请谅解,希望大家可以指出错误,共同学习java。



