1.程序结构:
-
顺序结构:线性,有序的结构,一次执行语句
-
选择结构:根据条件成立与否选择程序执行的通路
-
循环结构:重复执行一个或几个模块,直到满足某一条件为止
2.Scanner
1.导包
import java.util.Scanner;
//导包的动作必须出现在类定义的上边
2.创建对象
Scanner sc = new Scanner(System.in);
//上比那这个格式里面,只有sc是变量名,可以变,其他的都不允许变.
3.接收数据
int i = sc.nextInt();
//上面这个格式里面,只有i是变量名,可以变,其他的都不允许变.
3.分支结构
- 条件判断
- 选择结构
3.1条件判断结构
if:根据条件判断之后再做处理
//判断语句返回值必须是boolean型,为true时执行if逻辑
if(判断语句1){
执行语句;
}
int a=1;
//int b=2;
int b=1;
if(a==b){
System.out.println("a=b");
}
System.out.println("结束:");
if/else:如果满足某种条件,就执行if代码块;如果不满足,则执行else代码块
if(判断语句){
执行语句1;
}else{
执行语句2;
}
int a=1;
//int a=3;
int b=2;
if(a>b){
System.out.println("a大于b");
}else{
System.out.println("a不大于b");
}
System.out.println("结束:");
if/else if/else,else if可多个
if(判断语句1){
执行语句1;
}else if(判断语句2){
执行语句2;
} ……
else if(判断语句n){
执行语句n;
}else{
}//不满足判断语句1,但是满足2,则执行语句2
import java.util.Scanner;
public class helloworld{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个星期数:");
int week=sc.nextInt();
if(week==1){
System.out.println("今天是星期"+week);
}else if(week==2){
System.out.println("今天是星期"+week);
}
else if(week==3){
System.out.println("今天是星期"+week);
}
else if(week==4){
System.out.println("今天是星期"+week);
}
else if(week==5){
System.out.println("今天是星期"+week);
}
else if(week==6){
System.out.println("今天是星期"+week);
System.out.println("祝您周末愉快");
}
else if(week==7){
System.out.println("今天是星期"+week);
System.out.println("祝您周末愉快");
}else {
System.out.println("输入错误");
}
}
}
3.2条件选择结构
switch case
switch(表达式) {
case 常量表达式1:
语句1;
break;
case常量表达式2:
语句2;
break;
......
case常量表达式n :
语句n;
break;
default:
语句n+1;
break;
}
if/switch区别
- 都可以实现分支结构
- switch用于处理等值判断且为整型变量或字符变量的等值判断
- if 多用于某个变量在某一区间
4.循环结构
while,do while, for;(重复执行一些代码)
4.1while
先判断,再执行
//返回true,执行循环体,否则跳出循环体;
while(判断条件语句){
//每次判断语句返回true,执行一次
循环体语句块;
//修改循环变量。执行一次循环体后执行
控制语句;
}
例:输出10次我能行
int i = 0;
while(i<10){
System.out.println("我能行");
i++;
}
4.2do while
先执行循环体,再进行条件判断
do{
//第一次无条件执行,后续每次判断语句返回true,执行一次
循环体语句块;
//修改循环变量。
控制语句;
//返回true,执行循环体,否则跳出循环体;
} while(判断条件语句) ;
4.3for
//初始化语句,给循环变量赋初值;
//判断条件语句,返回true,执行循环体,否则跳出循环体;
//控制语句,修改循环变量。执行一次循环体后执行。
for(初始化语句;判断条件语句;控制语句){
循环体语句块;
}
4.4死循环
死循环
for(;;){
System.out.println("for");
}
while(true){
System.out.println("while");
}
do{
System.out.println("do....while");
}while(true);
ctrl+c结束死循环.
4.5循环区别
//执行顺序不一样
for(int i = 3;i<3;i++){
System.out.println("HelloWorld");
}
System.out.println("i");
//
int j = 3;
while(j<3){
System.out.println("HelloWorld");
j++;
}
System.out.println("j");
//
int k = 3 ;
do{
System.out.println("HelloWorld");
k++;
}while(k<3);
5.break(终止所在循环)
- 在循环控制语句的循环体中,可以使用break语句,表示终止当前循环,跳出循环体;
6.continue(跳过本次循环,继续下一次循环)
- 在循环控制语句的循环体中,可以使用continue语句,表示不再继续循环体后面的代码,继续下一次循环
7.return
- return关键字不是为了跳转出循环体,更常用的功能是结束一个方法,也就是退出一个方法。跳转到上层调用的方法。这个在方法的使用那里会在详细的讲解
for(int i = 1;i<=5;i++){
if(i%2 ==0){
//continue;
//break;
}
System.out.println(i);
}
8.循环嵌套(杨辉三角)
for(int hour=0;hour<24;hour++){
for(int minute=0;minute<60;mintune++){
System.out.println(hour+"时"+minute+"分");
}
}
//内循环控制分钟的范围;外循环控制小时的范围
9.Random
作用:用于产生一个随机数
使用步骤:
1.导包:import java.util.Random;(导包的动作必须出现在类定义的上面)
2.创建对象:Random r = new Random();(这个格式里边,r是变量名,可以变,其他的不允许变)
3.获取随机数:int number = r.nextInt(10);
//获取数据的范围:(0,10)包括0,不包括10
import java.util.Random;
public class helloworld{
public static void main(String[] args){
//创建对象:
Random r = new Random();
//获取随机数
int number = r.nextInt(10);
System.out.println(number);
//需求:获取一个1-100之间的随机数
int x = r.nextInt(100)+1;
System.out.println(x);
}
}