【Java基础3】JAVA执行语句(if、switch分支语句,for循环语句)介绍与实例

本文介绍了Java中的转义字符,如表示双引号,表示单引号等,并讲解了常量的分类,包括数字字面量、字面值常量和final修饰的变量。接着,详细阐述了Java的执行语句,包括顺序、分支(if和switch)以及for循环语句的用法和示例,展示了如何根据条件执行不同的代码块以及循环控制结构的应用。
摘要由CSDN通过智能技术生成

一、转义字符


含义:具有特殊意义的字符本身

\" 表示一个双引号字符

\' 表示一个单引号字符

\\表示一个斜杠字符

\n表示换行符

\t水平制表

二、常量


含义:程序执行过程中不可发生改变的量
分类: 1.数字字面量:程序中出现的数字 整数数字默认int类型 小数数字默认double类型
2.字面值常量:使用双引号括起来的内容
3.final修饰的变量:最终变量-常量 final int i = 100; System.out.println(i); 字面值常量和final修饰的变量:存放在常量池中,并且常量池中的数据不能重复,直到项目结束时常量池中的数据才会被清空。

三、Java执行语句


1、顺序语句


含义: 每一条顺序语句的执行顺序和书面顺序一致。

2、分支语句


a、if分支语句

语法结构:

if(表达式){

...代码块...

}

注意事项:

表达式的结果必须是boolean类型

true-执行代码块

false-跳过if分支

实例:

importjava.util.Scanner;

publicclassTest04{

publicstaticvoidmain(String[] args){

Scannerscan=newScanner(System.in);

System.out.print("请输入体重信息:");

doubleweight=scan.nextDouble();

System.out.print("请输入身高信息:");

doubleheight=scan.nextDouble();

doublehealth=weight/(height*height);

System.out.println("您的健康指数为:"+health);

//15-20的数值内为偏瘦

//20-25的数值内为健康

//25-30的数值内为偏胖

if(health>=20&&health<25){

System.out.println("您的健康状况为:健康");

}

elseif(health>=15&&health<20){

System.out.println("您的健康状况为:偏瘦");

}

elseif(health>=25&&health<30){

System.out.println("您的健康状况为:偏胖");

}

else{

System.out.println("您的健康状况为:异常");

}

System.out.println("检测结束!");

}

}

b、switch分支语句

语法结构:

switch(表达式){

case值1:

...代码块1...

break;

case值2:

...代码块2...

break;

case值n:

...代码块n...

break;

default:

...default代码块...

break;

}

注意事项:

表达式的结果分别给值1、值2、值n比较

哪个相同就执行对应的代码块

如果都不相同就执行default代码块

default代码根据需求可写可不写

面试题:

1、case的值可以相同吗?不可以

2、default可以省略吗?可以

3、break可以省略吗?可以

4、default的位置一定要在最后吗?不一定

5、表达式值的类型可以是什么?

byte、short、int、char、枚举(JDK1.5)、字符串(JDK1.7)

switch底层判断原理?

switch中判断的数据类型只有int

byte --自动向上转型成int

short--自动向上转型成int

char --获取字符的Unicode码

枚举 --获取对象在枚举中的序号

字符串--获取字符串的hash码

实例

//输入年和月,输出当月的天数

Scannerscan=newScanner(System.in);

System.out.println("请输入年份:");

intyear=scan.nextInt();

System.out.println("请输入月份:");

intmonth=scan.nextInt();

intday=0;

if(month==2){

if(year%4==0||year%400==0)

System.out.println(year+"年"+month+"月有29天");

else

System.out.println(year+"年"+month+"月有28天");

}

else{

switch(month){

case1:case3:case5:case7:case8:case10:case12:

day=31;

break;

case4:case6:case9:case11:

day=30;

break;

}

System.out.println(year+"年"+month+"月有"+day+"天");

}

c、if与switch的区别

表达式的区别: if:boolean switch:byte、short、int、char、枚举、字符串应用场景的区别: 判断区间、复杂条件 选 if 判断单个值是否相同 选 switch

3、for循环语句


语法结构:

for(表达式1;表达式2;表达式3){

...代码块/循环体...

}

理解:

表达式1--初始化变量

表达式2--判断条件(结果必须是boolean)

表达式3--更新变量

执行步骤:

1.初始化变量

2.判断条件(结果必须是boolean)

2.1true -执行代码块,再更新变量,最后重复第2个步骤

2.2false-跳出整个循环语句

需求1:打印以下图形

****

****

****

for(inti=0;i<3;i++){//外层循环控制行数

//System.out.println("****");

for(intj=0;j<4;j++){//内层循环控制列数

System.out.print("*");

}

System.out.println();//换行

}

需求2:打印以下图形

* i=0

** i=1

*** i=2

**** i=3

***** i=4

for(inti=0;i<5;i++){

for(intj=0;j<=i;j++){

System.out.print("*");

}

System.out.println();

}

需求3:打印以下图形

*

**

***

****

*****

for(inti=5;i>0;i--){

for(intj=1;j<i;j++){

System.out.print(" ");

}

for(intk=5;k>=i;k--){

System.out.print("*");

}

System.out.println();

}

需求4:打印以下图形

*****

****

***

**

*

for(inti=0;i<5;i++){

for(intj=5;j>i;j--){

System.out.print("*");

}

System.out.println();

}

需求5:打印以下图形

*****

****

***

**

*

for(inti=5;i>0;i--){

for(intj=5;j>i;j--){

System.out.print(" ");

}

for(intk=0;k<i;k++){

System.out.print("*");

}

System.out.println();

}

需求6:打印以下图形

*

***

*****

*******

for(inti=4;i>0;i--){

for(intj=1;j<i;j++){

System.out.print(" ");

}

for(intk=4;k>=i;k--){

System.out.print("*");

}

for(intj=4;j>i;j--){

System.out.print("*");

}

for(intk=1;k<i;k++){

System.out.print(" ");

}

System.out.println();

}

需求8:打印以下图形

*******

*****

***

*

for(inti=4;i>0;i--){

for(intk=4;k>i;k--){

System.out.print(" ");

}

for(intj=0;j<i;j++){

System.out.print("*");

}

for(intk=1;k<i;k++){

System.out.print("*");

}

for(intj=4;j>i;j--){

System.out.print(" ");

}

System.out.println();

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值