人生苦短我学Java-3-String类型/多种运算符/if语句判断
一、String类型变量的使用
1、String属于引用数据类型,翻译为:字符串(区分大小写的哦)
2、声明string类型变量时,使用双引号,一对""
3、String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+,并且输出数据类型为:String
public class a_string { public static void main(String[] args) { String a = "泡泡龙"; String b = " 1"; String c = "姓名:"; System.out.println(c + a + b); } }
二、运算符
1、算术运算符:
public class a_number { public static void main(String[] args) { int a = 2; int b = 4; // 正号:+ System.out.println(+a); // 负号:- 负负会得正 System.out.println(-b); // 加:+ System.out.println(a + b); // 减:- System.out.println(a - b); // 乘:* System.out.println(a * b); // 除:/ System.out.println(b / a); // 取余(取模):% System.out.println(b % a); // 自增(前):++ System.out.println("自增前:" + +a); // 自增(后):++ int age = 10; System.out.println("自增后,原来数值为:" + age++); // 先打印10,再10+1=11 System.out.println("自增后:" + age); // 输出11 // 自减(前):-- System.out.println("自减前:" + --a); // 自减(后):-- int num = 10; System.out.println("自减后,原来数值为" + num--); // 先打印10,再10-1=9 System.out.println("自减后:" + num); // 输出9 // 字符拼接:+ char c = 'h'; String d = "ello"; System.out.println("字符拼接:" + c + d); /* 练习:求三位数长度的个个十百位数 */ int number = 189; System.out.println("百位数为:" + number / 100); System.out.println("十位数为:" + number / 10 % 10); System.out.println("个位数为:" + number % 10); /* 自增其它数值 */ int num1 = 10; num1 += 2; System.out.println(num1); /* 自增其它数值 */ int num2 = 10; num2 -= 2; System.out.println(num2); } }
练习:
/* 练习:求三位数长度的个个十百位数 */
public class a_number { public static void main(String[] args) { /* 练习:求三位数长度的个个十百位数 */ int number = 189; System.out.println("百位数为:" + number / 100); System.out.println("十位数为:" + number / 10 % 10); System.out.println("个位数为:" + number % 10); } }
百位数为:1
十位数为:8
个位数为:9
2、比较与运算符
public class a_compare { public static void main(String[] args) { int a = 10; int b = 10; System.out.println(a == b); System.out.println(a != b); System.out.println(a >= b); System.out.println(a <= b); System.out.println(a < b); System.out.println(a > b); System.out.println(a = b); } }
3、逻辑运算符
逻辑运算符用于连接布尔型表达式
“&”和“&&”的运算的结果都相同,区别:
- &时,左边无论真假,右边都进行运算;
- &&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的运算的结果都相同,区别同理,||表示:当左边为真,右边不参与运算。
public class a_compare { public static void main(String[] args) { /* 2、逻辑运算1 且:& 或:| 非:!,取反 异或:^ */ boolean i = true; boolean o = false; System.out.println(i & i); System.out.println(o | i); System.out.println(!o); // 取反,原本o为false,取反变为true System.out.println(i ^ i); // 异或,两值相同时为flase System.out.println(i ^ o); // 异或,两值不相同时为true // 异或,类似且的取反,如下: System.out.println(!(i & i)); System.out.println(!(i & o)); /* 2、逻辑运算2 短路,且:&,值有一个为false,那全部为false,当值全为true时才为true 短路,或:|,值有一个为true,那就为true,当值全为false时才为false */ boolean aa = true; boolean bb = false; System.out.println(aa && bb); System.out.println(aa || aa); } }
4、位运算符
位运算是直接对整数的二进制进行的运算,开发过程中个人认为不是很常用;
public class BitTest { public static void main(String[] args) { int a = 2; int b = 8; //面试题:最高效方式的计算2* = 8, 2 << 3 或8 <<1 // 相当于每向左移一位就 * 3 System.out.println("a << 2 :" + (a << 3)); // 相当于每向右移一位就 / 2 System.out.println("a >> 2 :" + (b >> 2)); int c = 12; int d = 5; System.out.println("c & d:" + (c & d)); System.out.println("c & d:" + (c | d)); System.out.println("c & d:" + (c ^ d)); } }
5、三元运算符
结构:(条件表达式)? 表达式1:表达式2
结果为布尔类型;
public class a_San { public static void main(String[] args) { // max:取最大值 int a = 5; int b = 10; int max = (a > b) ? a : b; System.out.println(max); // 嵌套 String maxStr = (a > b) ? "a大" : ((a == b) ? "ab相等" : "b大"); System.out.println(maxStr); // 求三个数的最大值 int c = 11; int maxSan = ((a > b) ? a : b) > c ? ((a > b) ? a : b) : c; System.out.println(maxSan); } }
三、逻辑判断
1、格式一:if
if (条件){
执行表达式
}
2、格式二:if else
if (条件){
执行表达式
}else{
执行表达式
}
3、格式三:if...else if ... else
if (条件){
执行表达式
}else if{
执行表达式
}else{
执行表达式
}
public class If {
public static void main(String[] args) {
int a = 1;
int b = 2;
// 第一种
if (a < b) {
System.out.println("a<b");
}
// 第二种
if (a > b) {
System.out.println("a>b");
} else {
System.out.println("a<b 且a!=b");
}
// 第三种
if (a > b) {
System.out.println("a>b");
} else if (a == b) {
System.out.println("a==b");
} else {
System.out.println("a<b 且a!=b");
}
}
}
最后欢迎来大家QQ交流群一起学习:482713805