Java 基本语法
在前一章中,我们创建了一个名为MyClass.java的Java文件,运行时把“Hello World”打印到屏幕上,代码如下:
复制代码
复制代码
public class MyClass {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
复制代码
复制代码
例子解释
在Java中运行的每一行代码都必须在一个类中。示例中,类被命名为MyClass,类名的首字母是大写的。
注意: Java是区分大小写的: “MyClass”和“myclass”是不同的。
java文件的名称必须与类名匹配。保存文件时,使用类名保存,并添加.java扩展名。
要运行上面的示例,请确保正确安装了Java: 转到Java 环境搭建一章。输出应该是:
Hello World
main 方法
main()方法是必需的,每个Java程序中都包含:
public static void main(String[] args)
main()方法是Java程序的运行入口,该方法中的所有代码都将被执行。目前不必深究main前后的关键字,学习本教程后续内容时,将逐步了解它们。
现在,只要记住每个Java程序都有一个类名,这个类名必须与文件名匹配,每个程序都必须包含一个main()方法。
System.out.println()
在main()方法内部,可以使用println()方法向屏幕打印一行文本:
public static void main(String[] args) {
System.out.println("Hello World");
}
注意:在Java中,每个代码语句必须以分号结束。
Java 注释
Java中,注释可以用来解释代码,使其更具可读性。注释还可以屏蔽代码,在调试时很有用。
单行注释以两个前斜杠(//)开头。
Java会忽略//和行尾之间的任何文本(不会执行)。
这个例子在代码行之前使用单行注释:
示例
// 这是注释
System.out.println("Hello World");
这个例子在一行代码的末尾使用单行注释:
示例
System.out.println("Hello World"); // 这是注释
Java多行注释
多行注释以/开头,以/结尾。
Java将忽略/和/之间的任何文本。
本例使用多行注释(注释块)来解释代码:
示例
/* 下面的代码向屏幕
打印“Hello World”*/
System.out.println("Hello World");
Java 变量
Java 运算符
运算符用于对变量和值进行运算操作。
参与运算的值称为操作数,运算操作(在两个操作数之间执行)由运算符定义:
操作数 运算符 操作数
100 + 50
在下面的例子中,数字100和50是操作数,+是运算符:
示例
int x = 100 + 50;
+运算符可用于将两个值相加,就像上面的例子一样,但它也可以用于将一个变量和一个值相加,或者将两个变量相加:
示例
int sum1 = 100 + 50; // 150 (100 + 50)
int sum2 = sum1 + 250; // 400 (150 + 250)
int sum3 = sum2 + sum2; // 800 (400 + 400)
Java将运算符分为以下几组:
算术运算符
赋值运算符
比较运算符
逻辑运算符
按位运算符
Java算术运算符
算术运算符用于执行常见的数学运算。
运算符 名称 描述 例子
- 加 将两个值相加 x + y
– 减 从一个值减去另一个值 x – y
- 乘 两个值相乘 x * y
/ 除 将一个值除以另一个值 x / y
% 取模 返回除法余数 x % y
++ 增加 将变量的值增加1 ++x
— 减少 将变量的值减少1 –x
Java赋值操作符
赋值运算符用于为变量赋值。
在下面的例子中,我们使用赋值运算符(=)将值10赋给一个名为x的变量:
示例
int x = 10;
加法赋值运算符(+=)向变量加一个值:
示例
int x = 10;
x += 5;
所有赋值运算符的列表:
运算符 例子 等价于
= x = 5 x = 5
+= x += 3 x = x + 3
-= x -= 3 x = x – 3
*= x *= 3 x = x * 3
/= x /= 3 x = x / 3
%= x %= 3 x = x % 3
&= x &= 3 x = x & 3
|= x |= 3 x = x | 3
^= x ^= 3 x = x ^ 3
= x >>= 3 x = x >> 3
<<= x <<= 3 x = x << 3
Java比较运算符
比较运算符用于比较两个值:
运算符 名称 例子
== 等于 x == y
!= 不等于 x != y
大于 x > y
< 小于 x < y
= 大于等于 x >= y
<= 小于等于 x <= y
Java逻辑运算符
逻辑运算符用于确定变量或值之间的逻辑:
运算符 名称 描述 例子
&& 逻辑与 如果两个语句都为真,则返回true x < 5 && x < 10
|| 逻辑或 如果其中一个语句为真,则返回true x < 5 || x < 4
! 逻辑非 反转结果,如果结果为真,则返回false !(x < 5 && x < 10)
Java 类型转换
Java 类型转换
类型转换是将一种基本类型的值赋给另一种基本类型。
Java中,有两种类型转换:
扩大转换 (自动) – 将字节数较小类型转换为较大类型
byte -> short -> char -> int -> long -> float -> double
缩小转换 (手动) – 将字节数较大类型转换为较小类型
double -> float -> long -> int -> char -> short -> byte
扩大转换
将字节数较小类型转换为较大类型时,自动进行字节数加大转换:
示例
复制代码
复制代码
public class MyClass {
public static void main(String[] args) {
int myInt = 9;
double myDouble = myInt; // 自动转换: int 到 double
System.out.println(myInt); // 输出 9
System.out.println(myDouble); // 输出 9.0
}
}
复制代码
复制代码
缩小转换
将字节数较大类型转换为较小类型,必须手动转换,方法是将类型用括号括起来,放在要转换的值前面:
示例
复制代码
复制代码
public class MyClass {
public static void main(String[] args) {
double myDouble = 9.78;
int myInt = (int) myDouble; // 手动转换: double 到 int
System.out.println(myDouble); // 输出 9.78
System.out.println(myInt); // 输出 9
}
}
复制代码
复制代码
Java 运算符
运算符用于对变量和值进行运算操作。
参与运算的值称为操作数,运算操作(在两个操作数之间执行)由运算符定义:
操作数 运算符 操作数
100 + 50
在下面的例子中,数字100和50是操作数,+是运算符:
示例
int x = 100 + 50;
+运算符可用于将两个值相加,就像上面的例子一样,但它也可以用于将一个变量和一个值相加,或者将两个变量相加:
示例
int sum1 = 100 + 50; // 150 (100 + 50)
int sum2 = sum1 + 250; // 400 (150 + 250)
int sum3 = sum2 + sum2; // 800 (400 + 400)
Java将运算符分为以下几组:
算术运算符
赋值运算符
比较运算符
逻辑运算符
按位运算符
Java算术运算符
算术运算符用于执行常见的数学运算。
运算符 名称 描述 例子
- 加 将两个值相加 x + y
– 减 从一个值减去另一个值 x – y
- 乘 两个值相乘 x * y
/ 除 将一个值除以另一个值 x / y
% 取模 返回除法余数 x % y
++ 增加 将变量的值增加1 ++x
— 减少 将变量的值减少1 –x
Java赋值操作符
赋值运算符用于为变量赋值。
在下面的例子中,我们使用赋值运算符(=)将值10赋给一个名为x的变量:
示例
int x = 10;
加法赋值运算符(+=)向变量加一个值:
示例
int x = 10;
x += 5;
所有赋值运算符的列表:
运算符 例子 等价于
= x = 5 x = 5
+= x += 3 x = x + 3
-= x -= 3 x = x – 3
*= x *= 3 x = x * 3
/= x /= 3 x = x / 3
%= x %= 3 x = x % 3
&= x &= 3 x = x & 3
|= x |= 3 x = x | 3
^= x ^= 3 x = x ^ 3
= x >>= 3 x = x >> 3
<<= x <<= 3 x = x << 3
Java比较运算符
比较运算符用于比较两个值:
运算符 名称 例子
== 等于 x == y
!= 不等于 x != y
大于 x > y
< 小于 x < y
= 大于等于 x >= y
<= 小于等于 x <= y
Java逻辑运算符
逻辑运算符用于确定变量或值之间的逻辑:
运算符 名称 描述 例子
&& 逻辑与 如果两个语句都为真,则返回true x < 5 && x < 10
|| 逻辑或 如果其中一个语句为真,则返回true x < 5 || x < 4
! 逻辑非 反转结果,如果结果为真,则返回false !(x < 5 && x < 10)
Java 字符串
Java字符串/String
字符串用于存储文本。
一个字符串变量包含了一组由双引号括起来的字符:
示例
创建一个String类型的变量,并为其赋值:
String greeting = "Hello";
字符串长度
Java中的字符串实际上是一个对象,字符串对象包含了一组操作字符串的方法。例如,可以使用length()方法获取字符串长度:
示例
String txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
System.out.println("字符串长度是: " + txt.length());
更多字符串方法
有很多字符串方法可用,例如toUpperCase()和toLowerCase():
示例
String txt = "Hello World";
System.out.println(txt.toUpperCase()); // 输出 "HELLO WORLD"
System.out.println(txt.toLowerCase()); // 输出 "hello world"
在字符串中查找字符串
indexOf()方法在字符串中查找字符串,返回被查找字符串首次出现的索引(位置):
示例
String txt = "奇客谷教程 - Java 教程";
System.out.println(txt.indexOf("Java")); // 输出 8
Java从0开始计算位置。
0是字符串中的第一个位置,1是第二个,2是第三个…
字符串拼接
可以使用+运算符拼接两个字符串:
示例
String firstName = "Kevin";
String lastName = "Wu";
System.out.println(firstName + " " + lastName);
注意,在firstName与lastName之间,我们添加了一个空格。
还可以使用concat()方法拼接两个字符串:
示例
String firstName = "Kevin ";
String lastName = "Wu";
System.out.println(firstName.concat(lastName));
特殊字符
因为字符串必须用引号括起来,如果字符串中含有引号,Java会报错:
String txt = "关于西湖的诗句: "毕竟西湖六月中,风光不与四时同"";
要避免这个问题,可以使用反斜杠转义字符。
反斜杠()转义字符将特殊字符转换为字符串字符:
转义字符 结果 描述
’ ‘ 单引号
” “ 双引号
反斜杠
"在字符串中插入双引号:
示例
String txt = "关于西湖的诗句: "毕竟西湖六月中,风光不与四时同"";
'在字符串中插入单引号:
示例
String txt = "It's OK.";
在字符串中插入一个反斜杠:
示例
String txt = "字符 称为反斜杠.";
Java中,还有几个转义组合:
转义字符 结果
换行
回车
制表符
退格
f 换页
数字相加和字符串拼接
警告: Java中,加法和字符串拼接都是用+
运算符,2个数字相加是值相加,2个字符串相加是字符串拼接。
两个数字相加,结果将是一个数字:
示例
int x = 10;
int y = 20;
int z = x + y; // z 将是 30 (一个整型值)
两个字符串相加,结果将是拼接后的一个字符串:
示例
String x = "10";
String y = "20";
String z = x + y; // z 将是 1020 (一个字符串)
如果数字和字符串相加,会作为字符串拼接处理,结果将是一个字符串:
示例
String x = "10";
int y = 20;
String z = x + y; // z 将是 1020 (一个字符串)
Java Math
Java Math类有许多方法可用于数学计算。
Math.max(x,y)
Math.max(x,y)方法可以求出x, y中的最大值:
示例
Math.max(5, 10);
Math.min(x,y)
Math.min(x,y)方法可以求出x, y中的最小值:
示例
Math.min(5, 10);
Math.sqrt(x)
Math.sqrt(x)方法返回√x:
示例
Math.sqrt(64);
Math.abs(x)
Math.abs(x)方法返回x的绝对值(正值):
示例
Math.abs(-4.7)
Math.random()
Math.random()返回一个介于0(含)和1(不含)之间的随机数:
示例
Math.random();
Java 布尔运算
Java 布尔类型
在编程中,有时需要的数据类型,取值只能取两个值之一,比如:
是/否
开/关
真/假
为此,Java有一个boolean数据类型,可以取值:true或false。
布尔值
布尔类型是用boolean关键字声明的,只能取值: true或false:
示例
boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun); // 输出 true
System.out.println(isFishTasty); // 输出 false
布尔表达式
布尔表达式是返回布尔值true或false的Java表达式。
可以使用比较运算符,例如大于(>)运算符,来检验表达式是否为真:
示例
System.out.println(10 > 9); // 返回true, 因为 10 大于 9
在下面的例子中,使用等号(==)比较运算符来计算表达式:
示例
int x = 10;
System.out.println(x == 10); // 返回true, 因为x的值是10
示例
System.out.println(10 == 15); // 返回false, 因为10不等于15
Java中,布尔表达式是所有比较运算和条件判断的基础。