这次主要介绍使用Java语言编程需要用到的基础知识;
基础数据类型
在Java中,基础数据类型相当于汉语中的拼音,这些数据类型是构成其他数据类型的基础;Java语言提供了八种基本类型,包括六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
运算符和表达式
刚进小学进行学习的时候,首先要学习的是加、减、乘、除等法则,还有一些相对应的符号,这些符号就是运算符,如果要进行运算,还有列出等式,这就是表达式。在程序中,运算符和操作数组成表达式来完成相应的运算。而不同的运算符和操作数又会组成不同的表达式。
(1)算术运算符及其表达式
算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。
试例:
public class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 25;
int d = 25;
System.out.println("a + b = " + (a + b) );
System.out.println("a - b = " + (a - b) );
System.out.println("a * b = " + (a * b) );
System.out.println("b / a = " + (b / a) );
System.out.println("b % a = " + (b % a) );
System.out.println("c % a = " + (c % a) );
System.out.println("a++ = " + (a++) );
System.out.println("a-- = " + (a--) );
// 查看 d++ 与 ++d 的不同
System.out.println("d++ = " + (d++) );
System.out.println("++d = " + (++d) );
}
}
结果:a + b = 30
a - b = -10
a * b = 200
b / a = 2
b % a = 0
c % a = 5
a++ = 10
a-- = 11
d++ = 25
++d = 27
(2)关系运算符及其表达式
程序中,操作数之间有时会使用到关系运算符,用于判断大小或真假。
关系运算符适用于判断大小或者判断真假,返回值为布尔类型,如判断相等的运算“==”、判断不等的运算符“!=”。关系运算符通常和逻辑条件语句配合使用。
关系运算的结果只有两种,即真(true) 和假(false) . Java中的关系运算符有六种,如下所示。
>:表示大于,如X>Y,若X的值大于Y的值,则为真,否则为假。
<:>
>=:大于等于,如X>=Y,若X的值大于或等于Y的值,则为真,否则为假。
<=:小于等于,如X<=Y,若X的值小于或等于Y的值,则为真,否则为假。
==:等于,如X==Y,若X与Y的值相等,则为真,否则为假。
!=: 不等于,如X!=Y,若X与Y的值不相等,则为真,否则为假。
public class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a == b = " + (a == b) );
System.out.println("a != b = " + (a != b) );
System.out.println("a > b = " + (a > b) );
System.out.println("a < b = " + (a < b) );
System.out.println("b >= a = " + (b >= a) );
System.out.println("b <= a = " + (b <= a) );
}
}
结果:a == b = false
a != b = true
a > b = false
a < b = true
b >= a = true
b <= a = false
(3)逻辑运算符及表达式
逻辑运算符的计算对象是布尔变量,当需要同时对多个条件进行判断时,需要使用逻辑与符号“&&”、逻辑或符号“||”等表达;
public class Test {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
System.out.println("a && b = " + (a&&b));
System.out.println("a || b = " + (a||b) );
System.out.println("!(a && b) = " + !(a && b));
}
}
结果:a && b = false
a || b = true
!(a && b) = true
(4)位运算符及表达式
位运算符是指按二进制位的形式对操作数进行运算,在位运算中,操作数必须是整数类型。位运算符共有七个,分别是>> (位右移)、<< (位左移)、>>> (无符号位右移)、& (按位与)、|(按位或)、^(按位异或)、~(按位取反)
示例:
public class Test {
public static void main(String[] args) {
int a = 60; /* 60 = 0011 1100 */
int b = 13; /* 13 = 0000 1101 */
int c = 0;
c = a & b; /* 12 = 0000 1100 */
System.out.println("a & b = " + c );
c = a | b; /* 61 = 0011 1101 */
System.out.println("a | b = " + c );
c = a ^ b; /* 49 = 0011 0001 */
System.out.println("a ^ b = " + c );
c = ~a; /*-61 = 1100 0011 */
System.out.println("~a = " + c );
c = a << 2; /* 240 = 1111 0000 */
System.out.println("a << 2 = " + c );
c = a >> 2; /* 15 = 1111 */
System.out.println("a >> 2 = " + c );
c = a >>> 2; /* 15 = 0000 1111 */
System.out.println("a >>> 2 = " + c );
}
}
结果:a & b = 12
a | b = 61
a ^ b = 49
~a = -61
a << 2 = 240
a >> 2 = 15
a >>> 2 = 15
(5)赋值运算符及表达式
赋值就像是给一一个刚出生的小孩起名- -样,将这个孩子和这个名字中间画上等号。赋值运算符只有一个,就是“=”。赋值运算符用于将运算符右边的值赋给运算符左边的变量。
示例:
public class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 0;
c = a + b;
System.out.println("c = a + b = " + c );
c += a ;
System.out.println("c += a = " + c );
c -= a ;
System.out.println("c -= a = " + c );
c *= a ;
System.out.println("c *= a = " + c );
a = 10;
c = 15;
c /= a ;
System.out.println("c /= a = " + c );
a = 10;
c = 15;
c %= a ;
System.out.println("c %= a = " + c );
c <<= 2 ;
System.out.println("c <<= 2 = " + c );
c >>= 2 ;
System.out.println("c >>= 2 = " + c );
c >>= 2 ;
System.out.println("c >>= 2 = " + c );
c &= a ;
System.out.println("c &= a = " + c );
c ^= a ;
System.out.println("c ^= a = " + c );
c |= a ;
System.out.println("c |= a = " + c );
}
}
结果:c = a + b = 30
c += a = 40
c -= a = 30
c *= a = 300
c /= a = 1
c %= a = 5
c <<= 2 = 20
c >>= 2 = 5
c >>= 2 = 1
c &= a = 0
c ^= a = 10
c |= a = 10
(6)条件运算符及表达式
条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
xxx = xx ? xx if true : xx if true
示例:
public class Test {
public static void main(String[] args){
int a , b;
a = 10;
// 如果 a 等于 1 成立,则设置 b 为 20,否则为 30
b = (a == 1) ? 20 : 30;
System.out.println( "A : " + b );
// 如果 a 等于 10 成立,则设置 b 为 20,否则为 30
b = (a == 10) ? 20 : 30;
System.out.println( "A : " + b );
}
}
结果A : 30
A : 20