一、用户交互 scanner
1.获取用户输入
- 基本语法: Scanner s = new Scanner(System.in);
- 通过next()与nextLine()方法截取输入字符串;
- 使用hasNext() 与 hasNextLine()判断是否还有输入
- next( ) :
1.输入有效字符在结束
2.输入有效字符遇到空格自动结束
3.next ( ) 输入内容不能有空格的字符串,程序才能完整的读取全部信息 - nextLine():
1.以Enter 结束
2.输入内容可以空白 - 固定语法:
Scanner s = new Scanner(System.in); // 接收用户的一个输入
String str = scanner.next();//将输入内容转化
scanner.close(); //用完以后关闭
2.交互联系
//输入一个数判断是不是整数,输入一个数,判断是不是小数
Scanner s = new Scanner(System.in); //接收用户输入
int i = 0;
float f =0.0f;
System.out.println("请输入一个整数:");
if(s.hasNextInt()){
i = s.nextInt();
System.out.println("您输入的是整数:"+i);
}else{
System.out.println( i+"不是整数");
}
System.out.println("请输入一个小数:");
if(s.hasNextFloat()){
f = s.nextFloat();
System.out.println("您输入小数是:"+f);
}else {
System.out.println(f + "不是小数");
}
s.close();
//输入多个数字求总数 和 平均数。每输入一个数字用回车确认,输入非数字结束
Scanner s =new Scanner(System.in);
double sum = 0; //和
int m =0; //输入了多少个数字
System.out.println("计算数字的和还有平均数,输入over结束输入");
System.out.println("请输入数字:");
while (s.hasNextDouble()){
double x = s.nextDouble();
m++;
sum = sum + x;
System.out.println("请继续输入您想输的数字:");
}
System.out.println("和为:"+sum);
System.out.println("平均数是:"+sum/m);
s.close();
二、 顺序结构
- 这个没啥可说的,自上而下,一次执行。
- 任何一个程序的基本结构
三、选择结构(if、switch)
if
单选择结构、
语法:if (布尔表达式){ 语句1; }双选择结构
if(布尔){ 语句1; }else{ 语句2; //例子 Scanner s = new Scanner(System.in); System.out.println("请输入成绩:"); int score = s.nextInt(); if (score < 60) { System.out.println("不及格"); } else System.out.println("及格"); s.close();多选择结构
if(布尔){ 语句1; }else if(布尔){ 语句2; }else{ 语句3;} //例子: Scanner s =new Scanner(System.in); System.out.println("输入成绩:"); int score = s.nextInt(); if(score == 100){ System.out.println("优秀"); }else if(score<100 && score>60){ System.out.println("努力"); }else { System.out.println("不及格"); } s.close();嵌套语句
if(布尔){ if(布尔){ } }
switch
- 多选择结构
- 判断变量与一个系列中的某个值相等的从而分而治之
switch(expression){
case value;
语句1;
break;
case value;
语句2;
break;
default;
语句3;
}
//例子
Scanner s=new Scanner(System.in);
System.out.println("请输入成绩:");
String grade = s.next();
switch (grade){
case "a":
System.out.println("优秀");
break;
case "b":
System.out.println("还行");
break;
case "c":
System.out.println("凑活");
case "d":
System.out.println("加油吧!");
default:
System.out.println("认真点·");
}
}
四、循环结构(while、do while 、for)
1. while
while(){
内容
}
2. do …while (至少执行一次)
do{
}while(布尔表达式);
3. for(;;)
for(初始化;布尔表达式;更新){
代码语句
}
练习1 计算0-100的全部奇数 和偶数的和
//计算0-100中的奇数偶数和
int sum=0;
for (int i = 2; i < 101; i=i+2) {
sum = sum+i;
System.out.println("i的值为:"+i + ",所有偶数的和为:"+sum);
}
System.out.println("===================================");
int sum_ji=0;
for (int ji = 1; ji< 100; ji=ji+2) {
sum_ji = sum_ji+ji;
}
System.out.println("所有奇数的和为:"+ sum_ji );
练习2 计算1-1000中能被5整除的数
//1-1000中能被5整除的数
int i=0;
int a=1;
while (i < 1001) {
if (i % 5 ==0) { //膜5等于0 那么就是能被5整除的数字
System.out.print(i+" ");
a++;
if(a%3 == 0){ //每行有3个数
System.out.print('\n');
}
}
i++;
}
练习3 打印99乘法表
//打印99乘法表
//1.打印第一列
//2.把固定的1用一个循环抱起来
//3.去掉重复的
for(int a = 1; a<10; a++){
for(int b= 1;b<= a ; b++){
System.out.print(a +"x"+ b +"="+(a*b)+" ");
}
System.out.println();
}
五、增强for循环
1.结构:
for(声明(元素):表达式(arrays 数组)){
//代码语句
}
2.主要用于循环数组和集合
public static void main(String[] args) {
int[] a ={1,2,3,4,5,6};
for (int array: a ){
System.out.println(array);
}
}
六、break、continue
1. break :(可以理解成辞职,一去不回)
用于强行退出循环,不再执行循环结构剩下的语句(用于抵御switch穿透)退出循环
2. continue:(可以理解成请假,还回来)
终止某次循环,紧接着执行下一次循环,跳过本次循环
练习6:打印一个金字塔
分析:
- 1.先打印出一个三角形
图中红线部分
第一行打印5个空格
第二行打印4个空格
第三行打印3个空格
·······
最后一行打印一个空格
代码为:
for(int i =0;i<5;i++){
for(int j=5;j>i;j--){
System.out.print(" ");
}
- 2 在打印出三角形的一半
思路同上
for(int i =0;i<5;i++){
for(int j=5;j>i;j--){
System.out.print(" ");
}
for(int j=0;j<=i;j++){
//第一行打印1个@
//第二行打印2个@
//逐行递增
System.out.print("@");
}
3.打印剩下的半个三角
再嵌套一个循环
第一行打印1个
第二行打印2个
逐行递增
最后:代码如下
public static void main(String[] args) {
for(int i =0;i<5;i++){ //逐行打印
for(int j=5;j>i;j--){
System.out.print(" ");
}
for(int j=0;j<=i;j++){
System.out.print("@");
}
for(int j=1;j<=i;j++){
System.out.print("@");
}
System.out.println();
}
运行一下:
自学内容,来源学习资料来源“kuangstudy.com”
版权声明:本文为weixin_45326506原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

