概述
今日内容
1.if...else...和三元运算符的区别
面试题:
if和三元运算符的区别 共同: if...else..和三元运算符都是针对两种情况进行判断,都有表达式 不同: if...else.. 可以表达的范围很大,不仅可以用运算符达成目的,还可以用表达式来完成 三元运算符 表达的范围不如if,不能在结构中加入表达式 结论:if...else...可以表达,可以做到的,三元运算符做不到 三元运算符可以做到的,if...else...都可以做到!
import java.util.Scanner;
class ifDemo{
public static void main(String[] args){
//键盘输入
Scanner sc = new Scanner(System.in);
//提示输入一个数
System.out.print("请输入一个数:");
int num = sc.nextInt();
//判断这个数据是否为偶数
if(num%2 == 0){ //num模2,取余数,为0就是偶数,不为零就是奇数
System.out.println("这是一个偶数!");
}else{
System.out.println("这是一个奇数!");
}
}
}
2.流程控制语句switch
选择结构语句switch 格式 switch(变量名){ case 值1: 表达式1; break; case 值2: 表达式2; break; ... ... default: 表达式n; break; } 执行流程 switch后面的变量名(变量值)需要和case值匹配 匹配到哪个case值,就进行那个表达式,break结束语句 若没有匹配的case值,则执行default表达式,break结束语句
面试题:
switch语句后面的这个变量名可以是什么样的数据类型? switch后面的变量名(变量值)可以是: byte char short int jdk7以后可以是String类型
switch注意事项
1)switch后面的变量值可以是byte int short char,但是case后面的值只能是常量(Java是强类型语言,语言结构严谨) 2)switch中,case值一旦匹配,完成对应表达式后一定加break结束语句,如果没加就会造成case"穿透",直到遇见break为止 3)switch语句中的default语句在什么位置都可以 ---末尾--->可以不带break结束语句,因为代码由上而下运行,自然到结尾结束 ---首段--->一定要带break结束语句,如果不带,当没有匹配的case值时,直接执行default表达式,也会造成穿透 4)switch语句结束条件 ---break结束语句--->case后的,default后的 ---语句自然运行到末尾结束
//键盘录入一个值(1-7),判断是星期几?
import java.util.Scanner;
class switchDemo{
public static void main(String[] args){
//键盘输入
Scanner sc = new Scanner(System.in);
//提示输入一个值
System.out.print("请输入今天是是星期几:");
int num = sc.nextInt();
//switch语句进行选择判断
switch(num){
//case值后加的是:
case 1:
System.out.println("今天是星期一!");
//一定要加break结束,否则会造成case穿透
break;
case 2:
System.out.println("今天是星期二!");
break;
case 3:
System.out.println("今天是星期三!");
break;
case 4:
System.out.println("今天是星期四!");
break;
case 5:
System.out.println("今天是星期五!");
break;
case 6:
System.out.println("今天是星期六!");
break;
case 7:
System.out.println("今天是星期天!");
break;
default:
System.out.println("请输入有效的数值!");
//因为default在末尾,所以这里break可加可不加
break;
}
}
}
case穿透反面案例
/*
键盘录入一个月份的值,判断季节
3,4,5 春季
6,7,8 夏季
9,10,11 秋季
12,1,2 冬季
case穿透反面案例
*/
import java.util.Scanner;
class switchTest1{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个值:");
int num = sc.nextInt();
//case穿透反面案例
switch(num){
default:
System.out.println("请输入有效值!");
//break;
case 1:
System.out.println("冬季!");
//break;
case 2:
System.out.println("冬季!");
//break;
case 3:
System.out.println("春季!");
//break;
case 4:
System.out.println("春季!");
//break;
case 5:
System.out.println("春季!");
//break;
case 6:
System.out.println("夏季!");
//break;
case 7:
System.out.println("夏季!");
//break;
case 8:
System.out.println("夏季!");
//break;
case 9:
System.out.println("秋季!");
//break;
case 10:
System.out.println("秋季!");
//break;
case 11:
System.out.println("秋季!");
//break;
case 12:
System.out.println("冬季!");
//break;
}
}
}
case穿透正面案例
/*
键盘录入一个月份的值,判断季节
3,4,5 春季
6,7,8 夏季
9,10,11 秋季
12,1,2 冬季
case穿透正面案例
大量节约空间,减少代码冗余
*/
import java.util.Scanner;
class switchTest2{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个值:");
int num = sc.nextInt();
//case穿透正面案例
switch(num){
default:
System.out.println("请输入有效值!");
break;
case 1:
//break;
case 2:
//break;
case 12:
System.out.println("冬季!");
break;
case 3:
//break;
case 4:
//break;
case 5:
System.out.println("春季!");
break;
case 6:
//break;
case 7:
//break;
case 8:
System.out.println("夏季!");
break;
case 9:
//break;
case 10:
//break;
case 11:
System.out.println("秋季!");
break;
}
}
}
3.循环结构语句
3.1for循环语句
for循环语句结构 格式 for(初始化表达式;条件表达式;控制语句){ 循环体语句; } 执行流程 当需要进行循环时(有次数),用到for循环 初始化表达式定义一个初始变量 根据条件表达式判断值是否符合条件 ---符合条件--->执行循环体语句--->进行控制语句,在判断条件是否符合,进行下一轮循环 ---不符合条件--->跳出循环--->结束或者继续进行下面的代码 控制语句防止程序进入死循环
水仙花数(三位数) 每一位的立方相加等于这个数本身
//输出并统计所有水仙花数
import java.util.Scanner;
class forDemo{
public static void main(String[] args){
//统计数据初值
int cont = 0 ;
//遍历[100-1000)
for(int m = 100;m<1000;m++){
//每个数位置上的数字怎么获取
//百位
int a = m/10/10 % 10 ;
//十位
int b = m/10 % 10 ;
//个位
int c = m % 10 ;
//水仙花数: m = a*a*a + b*b*b + c*c*c
if(m == a*a*a + b*b*b + c*c*c){
//每循环一次记录一次
cont++;
System.out.println("水仙花数是:"+m);
}
}
System.out.println("水仙花数的个数是:"+cont);
}
}
3.2while循环语句
while循环语句结构 格式 初始化语句; while(条件表达式){ 循环体语句; 控制体语句; } 执行流程 初始化语句先赋值 根据条件表达式判断条件 ---符合条件--->进入循环体语句--->控制体语句,再根据条件表达式判断,没有控制体语句,死循环 ---不符合--->跳过循环,运行后面代码
class whileDemo{
public static void main(String[] args){
//赋初值
int m = 100 ;
//统计赋初值
int cont = 0 ;
while(m<1000){
//循环体语句
int a = m/10/10 % 10 ;
int b = m/10 % 10 ;
int c = m % 10 ;
if( m == a*a*a + b*b*b + c*c*c ){
//统计数
cont++ ;
System.out.println("水仙花数是:"+m);
}
m++;
}
System.out.println("水仙花数个数是:"+cont);
}
}
面试题:
for和while循环有什么区别? 1)格式上的不同 for循环把所有写在一起了,while循环分开写了 2)是否明确了循环次数(不绝对) 在开发中for循环使用最多 如果明确了循环次数--->使用for循环 没有循环次数限制--->使用while循环 3)从内存角度 for循环体内的一切变量出了循环体就被释放,合理利用内存 while不会
3.3do..while循环语句
do...while循环语句结构 格式 初始化语句; do{ 循环体语句; 控制体语句; }while(条件表达式) ; 执行流程 初始化语句赋值 判断条件--->成立--->执行循环体--->控制体语句--->再次判断.... 特点 和for,while最大的区别就是 即使条件不成立,循环体至少执行一次!
4.死循环结构
两种死循环格式: for(;;){ 循环体语句; } while(true){ //推荐这个格式 循环体语句; } 循环条件是一个恒定条件,永远满足循环条件就会死循环 死循环的格式最终里面完成某个逻辑,当达到某种条件结束循环,会用到一个跳转控制语句 break(中断,结束) ;
产生一个[0-1)之间的随机数 通过刚才的Math.random()
/*
想要完成一个猜数字游戏:使用循环来操作,不断的键盘录入数据,进行猜
大了,提示大了,
小了,提示小了
如果一致,恭喜猜中了
*/
import java.util.Scanner;
class DieLoopDemo{
public static void main(String[] args){
//生成一个随机数,默认double,加强转
//不能写进循环体内,不然永远无法猜出数!
int num = (int)(Math.random()*100+1) ;
//记录猜的次数
int cont = 0 ;
while(true){
//记录次数
cont++;
//从键盘输入要猜的数
Scanner sc = new Scanner(System.in);
//提示要输入数字
System.out.print("请输入要猜的数字");
int m = sc.nextInt();
//判断输入数和生成数
if(m>num){
System.out.println("大了,小一点!");
}else if(m<num){
System.out.println("小了,大一点!");
}else{
System.out.println("猜对了!");
//猜对之后中断循环
break;
}
}
System.out.println("一共猜了"+cont+"次");
}
}
5.for循环嵌套
for循环的嵌套 for循环的循环体语句里面是for循环 for(初始化语句1;条件表达式1;控制体语句1){ for(初始化语句2;条件表达式2;控制体语句2){ 循环体语句..... } }
//九九乘法表
class forforTest{
public static void main(String[] args){
//为了保证有数据 数据从1开始
for(int x = 1 ; x <=9 ; x ++){//行数
for(int y = 1 ; y <=x ; y ++){//列数,在变化
//循环体语句
//转义字符: "t" 制表符 类似tab键的效果
System.out.print(x +"*"+y+"="+(y*x)+"t") ;
}
System.out.println() ;
}
}
}
最后
以上就是飞快外套为你收集整理的JAVA10_31学习总结(switch,for,while,dowhile)今日内容的全部内容,希望文章能够帮你解决JAVA10_31学习总结(switch,for,while,dowhile)今日内容所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复