Java基础学习笔记整理day3

0 阅读4分钟

字符运算

字符和数字运算本质上来说是数字运算(字符可以通过ASCII码表转换成对应数字,大小写分别代表不同数字)

 

public class operatorDemo6 {
//这段代码的功能是将大写字母 'A' 转换为小写字母 'a' 并输出。
//具体过程:
//1. 定义字符变量 c 赋值为 'A'
//2. 将 'A' 的 ASCII 码值加 32(大小写字母的 ASCII 差值),再//强制转换回 char 类型得到 'a'
//3. 输出结果:a
public static void main(String[] args){
char c = 'A' ;
char cc = (char) ( c + 32 ) ;
System.out.println( cc ) ;
}

 

字符串运算

字符串运算只有 + 操作,任意数据 + 字符串 都是拼接操作,产生一个新的字符串

例如: 10 + 8 + “岁” = “18岁”

 

自增自减运算符

++        变量的值加1

--        变量的值减一

 

赋值运算符

a+=b a=a+b

a-=b a=a-b

a*=b a=a*b

a/=b a=a/b

a%=b a=a%b

a=b a=b

 

关系运算符

== 等于

!= 不等于

大于 成立为true

= 大于等于 不成立为false

< 小于

<= 小于等于

最后的结果是一个boolean类型的结果

// 判断身高
public static void main(String[] args) {
Scanner sr = new Scanner(System.in);
System.out.println( " 请输入您的身高 " );
double myHeight = sr.nextDouble();
System.out.println( " 请输入您好基友的身高 " );
double friendHeight = sr.nextDouble();
boolean result = myHeight >= friendHeight ;
System.out.println(result);
}

 

// 判断一个三位数之和是否能被3整除
public static void main(String[] args) {
Scanner sr = new Scanner(System.in);
System.out.println( " 请输入一个三位数 " );
int num = sr.nextInt();
//        System.out.println(num%3 == 0);
int ge = num%10;
int shi = num/10%10;
int bai = num/100%10;
int sum = ge + shi + bai ;
boolean result = (sum % 3 == 0);
System.out.println(result);
}

 

 

逻辑运算符

&  与(而且) 条件同时成立

|  或(或者) 条件成立其中之一

!  非(取反) 取反

最后结果是一个boolean类型的结果

 

// 逻辑运算符 &
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println( " 请输入一个整数 " );
int num = sc.nextInt();
boolean result = num>1 & num<10;
System.out.println(result);
}

 

// 判断一个数是否在1-10之间
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println( " 请输入一个整数 " );
int num = sc.nextInt();
boolean result = num<=1 | num>=10 ;
System.out.println(result);
}

 

短路逻辑运算符

&& 左边表达式为false,右边不用判断

|| 左边表达式为true,右边不用判断

作用:提高效率

 

// 判断一个四位数是否是回文数
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println( " 请输入一个四位整数 " );
int num = sc.nextInt();

    int ge = num%10;
int shi = num/10%10;
int bai = num/100%10;
int qian = num/1000%10;

    boolean result = ge==qian && shi==bai ;
System.out.println(result);

}

 

// 判断一个数是否是7的倍数或者个位是7或者十位是7
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println( " 请输入一个两位数整数 " );
int num = sc.nextInt();

    int ge = num%10;
int shi = num/10%10;
boolean result = ge==7 || shi==7 || num%7==0;
System.out.println(result);
}

 

 

三元运算符

格式:     关系表达式?表达式1:表达式2;

规则:先计算关系表达式,如果成立则是表达式1,不成立则是表达式2。

 

// 三元运算符
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println( " 请输入一个整数 " );
int num1 = sc.nextInt();
System.out.println( " 请输入另一个整数 " );
int num2 = sc.nextInt();
int result = num1 > num2 ? num1 : num2 ;
System.out.println(result);
}

 

 

运算符优先级

小括号大于所有

 

 

判断语句

If语句格式:if(关系表达式){

语句体

}

应用场景:只有满足对应条件,才能执行相应的代码。

使用细节:1左花括号写在第一行末尾

2语句体只有一句,花括号可以不写

3关系表达式中对布尔变量的判断直接写即可例如if(b){}

4小括号后面不能有分号


public static void main(String[] args) {
// 判断体温
Scanner sc = new Scanner(System.in);
System.out.println( " 请输入您的体温 " );
double bodyTemperature = sc.nextInt();
if(bodyTemperature >= 38){
System.out.println( " 体温过高 " );
}
}

 

 

/*模拟游戏角色的血量管理系统
* 接收用户输入的伤害值和恢复值,计算并显示剩余血量
* 血量范围限制在1-200之间
*/
public static void main(String[] args) {
int hp = 200 ;
System.out.println( " 请输入受到的伤害 " );
Scanner sc = new Scanner(System.in);
int hurt = sc.nextInt();

    hp = hp - hurt;

// 确保血量不低于最小值1
if(hp<1){
hp = 1;
}
System.out.println( " 还剩血量为: " + hp);

    System.out.println( " 请输入恢复的血量 " );
int add = sc.nextInt();
hp = hp + add ;

// 确保血量不超过最大值200
if(hp>200){
hp = 200;
}
System.out.println( " 还剩血量为 " + hp);

}