自增 自减运算(++、- -)
- ++和- -运算单独操作时,++和- -不管放在前面还是后面,结果都是一样的。
- 但参与运算操作的时候,若++或- -在变量的后面的时候,先拿变量参与运算操作,后变量进行++或- -操作; 如果++或- -在变量的前面时,先做变量的++或–操作,然后再拿变量进行运算操作。
小练习
package cn.llxy.day02;
import java.util.Scanner;
/**
*++和--运算
*/
public class CopyOfOpetrerDemo {
public static void main(String[] args){
//定义两个变量
int x=5;
System.out.println(x); //5
x++;
++x;
System.out.println("x:"+x); //7
int y=++x;
System.out.println("x:"+x); //8
System.out.println("y:"+y); //8
int z=x++;
System.out.println(x); //9
System.out.println(z); //8
int q=x--;
System.out.println(x); //8
System.out.println(q); //9
}
}
逻辑运算符基本使用
&&与&的区别:
(1)最终结果都一样;
(2)&&具有短路效果,左边是false,右边不执行;
(3)&无论左边是false还是true,右边都会执行。
||和|区别
(1)最终结果一样;
(2)||具有短路效果,左边是true,右边不执行;
(3)|无论左边是false还是true,右边都会执行。
三元运算符
练习题目:
- 键盘录入两个数据,比较这两个数据是否相等;
- 键盘录入三个数据,获取这三个数据中的最大值。
分析
利用上节课所学习的scanner键盘录入获取数据,并进行判断输出
代码如下
package cn.llxy.day02;
import java.util.Scanner;
public class OpetrerDemo08 {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入要进行比较的第一个数a:");
int a=sc.nextInt();
System.out.println("请输入要进行比较的第二个数b:");
int b=sc.nextInt();
System.out.println("a,b是否相等?");
System.out.println(a==b);
System.out.println("请输入第三个数c:");
int c=sc.nextInt();
System.out.println("三个数中的最大值是:");
System.out.println(((a>b)?a:b)>c?((a>b)?a:b):c);
sc.close();
/*boolean flag=(a==b)?true:false;
System.out.println(flag);
int q=6;
int temp=(a>b)?a:b;
int max=(temp>q)?temp:q;
System.out.println(max);
*/ //另解
}
}
运行结果
分支结构
-
顺序结构
按照程序编写的顺序依次执行 -
if-else判断
(1)判断输入的数是否为偶数
代码
package cn.llxy.day02;
/**
* 判断一个数是奇数还是偶数
*/
import java.util.Scanner;
public class Test03 {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个整数:");
int a=sc.nextInt();
if (a%2==0){
System.out.println("这个数是偶数!!");
}
else
System.out.println("这个数是奇数!!");
sc.close() ;
}
}
运行结果
(2)王者荣耀段位判断
代码
package cn.llxy.day02;
import java.util.Scanner;
/**
* 王者荣耀段位判断
* 程序考虑数据(全面):
* 安全性数据;
* 边界数据;
* 错误数据。
* @author Administrator
*
*/
public class Test05 {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入你的rank分数:");
int a=sc.nextInt();
if (a>=90&&a<=100){
System.out.println("最强王者!!"); }
else if(a>=80&&a<90){
System.out.println("星耀!!");}
else if(a>=70&&a<80){
System.out.println("钻石!!");}
else if(a>=60&&a<70){
System.out.println("黄金!!");}
else if(a<60&&a>=0){
System.out.println("黑铁!!");}
else if(a<0){
System.out.println("输入有误!!");}
else{
System.out.println("66666!!");}
sc.close() ;
}
}
运行结果
(3)判断所输入的年份是否为闰年
package cn.llxy.day02;
/**
* 判断某年是否为闰年
*/
import java.util.Scanner;
public class Test06 {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入要进行判断的年份:");
int year=sc.nextInt();
if(year%4==0&&year%100!=0||year%400==0){
System.out.println("该年是闰年!");
}
else{
System.out.println("该年不是闰年!");
}
sc.close();
}
}
运行结果
3. switch
代码
package cn.llxy.day02;
/**
* 根据用户输入的年份、月份,判断该年该月有多少天
*
* 思路:1、使用Scanner用法。三步:导包、创建对象、接收数据;
* 2、使用变量:年份 year 、月份 month 、天 day
* 3、涉及到平闰年的判断,2月份是单独考虑的,使用switch进行
*
*/
import java.util.Scanner;
public class SwitchDemo01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入年份、月份:");
int year= sc.nextInt();
int month = sc.nextInt();
int flag=(year%4==0&&year%100!=0||year%400==0)?0:1;//判断是否是闰年
switch(flag){
case 0:
System.out.println(year+"年是闰年");
break;
case 1:
System.out.println(year+"年是平年");
break;
default:System.out.println("输入有误");
}
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println(year+"年" +month+"月有31天");
break;
case 2:
switch(flag){
case 0:
System.out.println(year+"年" +month+"月有29天");
break;
case 1:
System.out.println(year+"年" +month+"月有28天");
break;
}
break;
case 4:
case 6:
case 9:
case 11:
System.out.println(year+"年" +month+"月有30天");
break;
default:
System.out.println("输入有误");
}
sc.close();
}
}
运行结果
循环
1、for循环
格式:
for(初始化语句;判断条件语句;控制条件语句){
循环体语句;
}
练习题
package cn.llxy.day02;
/**
* for循环实现1~100之间的偶数和
* 写出思路,并进行编码实现
*
* 思路:1、新增一个变量,实现求和:sum
* 2、获取到1~100之间所有的偶数,
* 使用for循环来解决,遍历数据进行判断,
* 如果是偶数的话,就执行第三步的数据累加
* 3、对获取到的数据进行累加
* @author Administrator
*
*/
public class ForDemo02 {
public static void main(String[] args){
//定义变量
int sum=0;
//获取数据
//遍历1-100,找到所有的偶数
for(int i=1;i<=100;i++){
//判断是否为偶数
if(i%2==0){
sum+=i;
i++;
}
}
System.out.println("sum="+sum);
}
}
运行结果
2、while循环
3、do-while循环