目录
一、分支语句
1.if语句
1)基本语句
语法:
//语法:
if(条件表达式){
当条件表达结果为true时,执行的代码
}
//注意:如果大括号只有一行代码,可以省略大括号不写
案例:
案例:小明去网吧上网,年龄大于等于18岁,欢迎来到网络世界
代码:
class Demo01{
public static void main(String[] args) {
int age = 19;
String name = "小明";
if (age>=18) {
System.out.print(name+",");
System.out.println("欢迎来到网络世界!");
}
}
}
结果:
2)if else语句
语法:
//if-else语法
if(条件表达式){
当条件表达式结果为true时,执行此处代码;
}else{
当条件表达式结果为false时,执行此处代码;
}
案例:
案例:小明去网吧上网,年龄大于等于18岁,欢迎来到网络世界
不满18岁,抱歉,您未满18周岁
代码 :
class Demo02{
public static void main(String[] args) {
int age = 12;
String name = "小明";
if (age>=18) {
System.out.print(name+",");
System.out.println("欢迎来到网络世界!");
}else {
System.out.println("很抱歉,未满十八周岁");
}
}
}
结果:
3)else if语句
语法:
//else-if语法
if(条件表达式1){
当条件表达式1结果为true时,执行此处代码;
}else if(条件表达式2){
当条件表达式2结果为true时,执行此处代码;
}else if(条件表达式3){
当条件表达式3结果为true时,执行此处代码;
...
}else if(条件表达式n){
当条件表达式n结果为true时,执行此处代码;
}else{
当上述条件表达式结果都为false时,执行此处代码;
}
案例:
案例:小明去网吧上网,年龄大于等于18岁,欢迎来到网络世界
如果年龄小于18岁,提示抱歉,您未满18周岁
如果年龄大于150岁或小于0岁,提示抱歉,地球不适合您
代码:
public class Demo03 {
public static void main(String[] args) {
int age = 200;
String name = "小明";
if (age>150||age<0) {
System.out.println("抱歉,地球不适合您");
}else if (age>=18) {
System.out.print(name+",");
System.out.println("欢迎来到网络世界!");
}else {
System.out.println("很抱歉,未满十八岁");
}
}
}
结果:
4)if嵌套
语法:
//if嵌套语法
if(条件表达式1){
if(条件表达式2){
...
if(条件表达式n){
当条件表达式n结果为true时,执行此处代码;
}else{
上述条件表达式结果都为false时,执行此处代码;
}
案例:
案例:满1000打9折,会员打8折
代码:
class Demo04{
public static void main(String[] args){
double money01 = 2100;
boolean isVIP = true;
if(money01 >= 1000){
//消费金额大于1000
double money02 = money01 * 0.9;
if(isVIP){
double money03 = money02 * 0.8;
System.out.println("本次应付金额为:"+money01+",实付金额:"+money03+",本次优惠:"+(money01-money03));
}else{
System.out.println("本次应付金额为:"+money01+",实付金额:"+money02+",本次优惠:"+(money01-money02));
}
}else{
//消费金额不足1000
if(isVIP){
double money04 = money01 * 0.8;
System.out.println("本次应付金额为:"+money01+",实付金额:"+money04+",本次优惠:"+(money01-money04));
}else{
System.out.println("本次应付金额为:"+money01+",实付金额:"+money01+",本次优惠:0元");
}
}
}
}
结果:
2.switch语句
语法:
//switch语句
switch(变量){
case 常量1:
当变量值等于常量1时执行此处代码;
break;
case 常量2:
当变量值等于常量2时执行此处代码;
break;
...
case 常量n:
当变量值等于常量n时执行此处代码;
break;
default:
当变量值不等于以上常量时,执行此处代码;
break;
}
案例:
案例:小程序助你破产,用于节日给女朋友挑礼物
代码:
class Demo05{
public static void main(String[] args){
String tag = "双11";
switch(tag){
case "过年":
System.out.println("发红包");
break;
case "元宵":
System.out.println("去逛街");
break;
default:
System.out.println("暂无此节日,随后更新");
break;
}
}
}
结果:
3.if和switch语句的区别
1)if语句可以判断区间,switch不可以
2)switch语句在运行效率上比if稍微快一些
4.局部变量
1)代码块
//代码块:
{}
//变量在那个代码块中声明,就只能在那个代码块中用
//举例:
class Demo06{
public static void main(String[] args){
int a = 10;
int b = 0;
if(a > b){
int c = 12;
}
System.out.println(c);
}
}
2)局部变量的概念
局部变量概念:在方法或方法中的代码块中声明的变量称为局部变量
3)局部变量的特点
特点:
作用域:在声明该变量的代码块中使用
命名:同一个方法中变量名不能重复
二、循环语句
1.作用
循环语句的作用:重复执行一段代码
2.分类
//循环语句的分类
1)while
2)do while
3)for
3.while语句
1)语法
//语法:
while(条件表达式){
当条件表达式值为true时,执行此处代码
此处代码执行完毕后继续判断条件表达式,如果为true,在次执行此处代码
如果为false,结束循环
}
2)案例
案例:打印10~0之间数
3)代码
public class Demo07 {
public static void main(String[] args) {
int num=10;
while (num<26) {
if (num == 25) {//如果num是25,则直接打印25
System.out.print(num);
}else {/如果num是其他,则打印数字和","
System.out.print(num + ",");
}
num++;
}
}
}
4)结果
因为输出的格式原因,我加入了if分支语句
4.do-while
1)语法
语法:
do{
循环体
先执行一遍循环体,在判断条件表达式是否为true,
如果为true,继续执行循环体
如果为false,结束循环
}while(条件表达式);
2)特点
特点:循环体至少执行一遍
3)案例
案例:打印10~0之间数
4)代码
public class Demo08 {
public static void main(String[] args) {
int num = 10;
do{
System.out.println(num);
num--;
}while(num >= 0);
}
}
5)结果
5.for循环
1)语法
语法:
for(表达式1;条件表达式2;表达式3){
循环体4
}
表达式1:初始化变量
表达式2:循环条件
表达式3:改变变量
2)执行流程
执行流程:
1,2,4,3,2,4,3....2
3)案例
案例:使用for完成0~10之间数的打印
4)代码
public class Demo08 {
public static void main(String[] args) {
for (int i = 0; i < 11; i++) {
if (i==10) {
System.out.print(i);
}else {
System.out.print(i+",");
}
}
}
}
5)结果
6.练习
1)打印100以内的偶数
代码
//打印1~100的偶数
public class Test01{
public static void main(String[] args){
System.out.println("1~100之间的偶数:");
for(int i=1;i<101;i++){
if(i%2==0){
System.out.println(i);
}
}
}
}
结果:
2)计算10的阶乘
代码
public class Test02 {
public static void main(String[] args) {
int factorial = 1;
for (int i = 1; i < 10; i++) {
factorial *= i;
}
System.out.println("10的阶乘:"+factorial);
}
}
结果
3)打印正方形
代码
public class Test03 {
public static void main(String[] args) {
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 6; j++) {
System.out.print("* ");
}
System.out.println();
}
}
}
结果
4)打印直角三角形
代码
public class Test04 {
public static void main(String[] args) {
for (int i = 0; i < 7; i++) {
for (int j = 0; j <= i; j++) {
System.out.print("* ");
}
System.out.println("");
}
System.out.println();
}
}
结果
5)打印九九乘法表
代码
public class Test05 {
public static void main(String[] args) {
//外循环控制行数
for (int i = 1; i <= 9; i++) {
//内循环控制列数
for (int j = 1; j <=i; j++) {
System.out.print(j+"×"+i+"="+(i*j)+"\t");
}
System.out.println();
}
}
}
结果