目录
一、顺序结构
二、分支结构
1、 if 语句
2、switch 语句
与C语言不同,不能作为switch参数的类型:float double long boolean
三、循环结构
1.while循环
2.for循环
四、输入输出
1.输出 - 将结果显示打印到屏幕上
2.输入
3.输入输出综合例子
4.循环输入读取数据 scanner.hasNextInt()
一、顺序结构
同C语言一样,按顺序执行代码
System . out . println ( "aaa" );System . out . println ( "bbb" );System . out . println ( "ccc" );// 运行结果aaabbbccc
换了顺序之后,结果界不同了
System . out . println ( "aaa" );System . out . println ( "ccc" );System . out . println ( "bbb" );// 运行结果aaacccbbb
二、分支结构
与C语言不同,Java分支结构的条件是boolean类型
1、 if 语句
以下三种
public static void main2(String[] args) {
//求闰年,判断普通闰年和世纪闰年
Scanner scanner = new Scanner(System.in);//java中的输入
int year = scanner.nextInt();//nextInt读入int型数据
if(year % 100 == 0){
if(year % 400==0){
System.out.println("世纪闰年");
}else {
System.out.println("不是闰年");
}
} else{
if(year % 4 == 0){
System.out.println("普通闰年");
}else{
System.out.println("不是闰年");
}
}
}
2、switch 语句
与C语言不同,不能作为switch参数的类型:float double long boolean
以及很重要的一点,break 不要遗漏, 否则会失去 "多分支选择" 的效果
public static void main3(String[] args) {
/**
* 不能作为switch参数的类型:float double long boolean
* switch不能表达复杂的条件
*/
int a = 1;
switch (a) {
case 1:
System.out.println(1);
//break;遇到break才会停止,否则会一致执行,知道遇到break
case 2:
System.out.println(2);
break;
default:
System.out.println("输入有误!");
break;
}
}
三、循环结构
1.while循环
while以及do-while与C语言里的差不多,这里就简单说了。
public static void main4(String[] args) {
//打印1-10之间所有的数字
int i = 0;
while(i <= 10){
System.out.println(i);
i++;
}
System.out.println("===================================");
//计算1-100的和
int n = 1;
int sum = 0;
while (n<=100){
sum+=n;
n++;
}
System.out.println(sum);
}
2.for循环
特别的是:Java中有fori循环和foreach循环(后面数组来介绍)
int sum = 0 ;for ( int i = 1 ; i <= 100 ; i ++ ) {sum += i ;}System . out . println ( "sum = " + sum );// 执行结果5050
输入输出与C语言不太一样,最开始还是要适应一下
四、输入输出
1.输出 - 将结果显示打印到屏幕上
打印时可以简写 sout ,回车之后会自动补全System . out . println ( msg ); // 输出一个字符串 , 带换行System . out . print ( msg ); // 输出一个字符串 , 不带换行System . out . printf ( format , msg ); // 格式化输出
2.输入
使用
Scanner
读取字符串
/
整数
/
浮点数
Scanner是一个工具,在使用的时候,需要导入包,在编译器里,这个包会自动加上import java . util . Scanner ; // 需要导入 util 包
Scanner 命名 =
new
Scanner
(
System
.
in
);
Scanner scanner = new Scanner ( System . in );使用输入时
int age = scanner.nextInt();nextInt();是输入整型,还有其他的nextline等等
3.输入输出综合例子
在混用输入输出时,有可能会出现,读取字符串的时候,把上一个输入的回车给读了,所以要注意小心!
public static void main7(String[] args) {
// Scanner scanner = new Scanner(System.in);
// System.out.println("请输入你的姓名:");
// String name = scanner.nextLine();//nextLine可以输入包含空格的字符串,例如ni hao
// System.out.println(name);//ni hao
//
// System.out.println("请输入你的年龄:");
// int age = scanner.nextInt();
// System.out.println(age);
//
// System.out.println("请输入你的工资:");
// float salary = scanner.nextFloat();
// System.out.println(salary);
/**
* 当先输入年龄的时候,输入数字后,回车
* 接下来的String name = scanner.nextLine();输入名字的地方,把回车当作字符串读进去了
* 所以实际工作中尽量少使用java中的读取数据(传参),避免出现这样的问题
*/
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的年龄:");
int age = scanner.nextInt();
System.out.println(age);
//解决办法:用这个先把回车读了,后面就能正常运行了,相当于C语言的getchar()
scanner.nextLine();//读取回车
System.out.println("请输入你的姓名:");
String name = scanner.nextLine();//nextLine可以输入包含空格的字符串,例如ni hao
System.out.println(name);//ni hao
System.out.println("请输入你的工资:");
float salary = scanner.nextFloat();
System.out.println(salary);
}
4.循环输入读取数据 scanner.hasNextInt()
public static void main8(String[] args) {
//使用Scanner循环读取n个数字,求平均值
Scanner scanner = new Scanner(System.in);
/**
* scanner.hasNextInt(),有下一个整型int,读取到数据时,为真,进入while循环。
* 结束循环读取,按 Ctrl d (windows的cmd终端用ctrl z)
* 网上刷题时不用管,那边服务器会自动处理的
*/
while(scanner.hasNextInt()){
int a = scanner.nextInt();//读取到了的整型,用a存起来
System.out.println(a);//打印该整型
}
}