Java条件语句
条件语句在程序中负责决策,根据不同的条件执行不同的代码块。Java提供了三种条件语句:if语句、if-else语句和if-else-if语句。
if语句
if语句是最基本的条件语句。它的语法结构如下:
if (condition) {
// 如果condition为true,则执行这里的代码
}
如果condition为true,则执行if语句块中的代码。如果condition为false,则跳过整个if语句块。
if-else语句
if-else语句在if语句的基础上增加了一个else块。它的语法结构如下:
if (condition) {
// 如果condition为true,则执行这里的代码
} else {
// 如果condition为false,则执行这里的代码
}
如果condition为true,则执行if语句块中的代码。如果condition为false,则执行else语句块中的代码。
if-else-if语句
if-else-if语句在if-else语句的基础上增加了多个else-if块。它的语法结构如下:
if (condition1) {
// 如果condition1为true,则执行这里的代码
} else if (condition2) {
// 如果condition1为false,但condition2为true,则执行这里的代码
} else {
// 如果condition1和condition2都为false,则执行这里的代码
}
如果condition1为true,则执行if语句块中的代码。如果condition1为false,但condition2为true,则执行else-if语句块中的代码。如果condition1和condition2都为false,则执行else语句块中的代码。
Java switch case语句
switch case语句是一种多分支的条件语句。它的语法结构如下:
switch (expression) {
case value1:
// 如果expression的值等于value1,则执行这里的代码
break;
case value2:
// 如果expression的值等于value2,则执行这里的代码
break;
...
default:
// 如果expression的值不等于任何一个case,则执行这里的代码
break;
}
expression是一个值,可以是byte、short、int、char、String或枚举类型。每个case后面跟着一个value,表示如果expression的值等于这个value,则执行对应的代码块。如果expression的值不等于任何一个case,则执行default块中的代码。
注意:每个case后面必须有一个break语句。否则,程序会继续执行下一个case的代码块,直到遇到break语句或switch语句结束。
下面是一个使用switch case语句的例子:
int day = 3;
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
case 4:
System.out.println("Thursday");
break;
case 5:
System.out.println("Friday");
break;
case 6:
System.out.println("Saturday");
break;
case 7:
System.out.println("Sunday");
break;
default:
System.out.println("Invalid day");
break;
}
上面的代码将输出“Wednesday”,因为day的值为3。
Java Number&Math类
在Java中,Number类是所有数值型类的超类。其中包括Byte、Double、Float、Integer、Long和Short。这些类都是不可变的,也就是说,一旦创建,就不能修改它们的值。
Math类包含了许多常用的数学函数,例如sin、cos和sqrt。它还包含了一些常量,如PI和E。
下面是一些例子:
// 创建一个Integer对象
Integer myInt = new Integer(42);
// 将一个字符串转换成Integer对象
Integer myIntFromString = Integer.valueOf("42");
// 调用Math类的sin函数
double mySin = Math.sin(1.0);
// 输出Math类的PI常量
System.out.println(Math.PI);
注意:在Java 8及以上版本中,推荐使用基本类型(如int和double)而不是Number类和自动装箱。这是因为基本类型的运算速度更快,内存占用更小。
Character类
Java中的Character
类是一个包装类,用于表示Unicode字符。它提供了许多静态方法和实例方法,可以用于处理字符。以下是一些使用Character
类的例子:
// 判断一个字符是否是字母
char ch = 'A';
if (Character.isLetter(ch)) {
System.out.println(ch + " is a letter");
} else {
System.out.println(ch + " is not a letter");
}
// 判断一个字符是否是数字
char ch = '1';
if (Character.isDigit(ch)) {
System.out.println(ch + " is a digit");
} else {
System.out.println(ch + " is not a digit");
}
// 转换一个字符为小写
char ch = 'A';
char lowercaseCh = Character.toLowerCase(ch);
System.out.println("Lowercase of " + ch + " is " + lowercaseCh);
// 转换一个字符为大写
char ch = 'a';
char uppercaseCh = Character.toUpperCase(ch);
System.out.println("Uppercase of " + ch + " is " + uppercaseCh);
注意:在Java 9及以上版本中,推荐使用isLetterOrDigit
方法代替isLetter
和isDigit
方法。
Java中的Character
类是一个包装类,用于表示Unicode字符。它提供了许多静态方法和实例方法,可以用于处理字符。以下是一些使用Character
类的例子:
// 判断一个字符是否是字母
char ch = 'A';
if (Character.isLetter(ch)) {
System.out.println(ch + " is a letter");
} else {
System.out.println(ch + " is not a letter");
}
// 判断一个字符是否是数字
char ch = '1';
if (Character.isDigit(ch)) {
System.out.println(ch + " is a digit");
} else {
System.out.println(ch + " is not a digit");
}
// 转换一个字符为小写
char ch = 'A';
char lowercaseCh = Character.toLowerCase(ch);
System.out.println("Lowercase of " + ch + " is " + lowercaseCh);
// 转换一个字符为大写
char ch = 'a';
char uppercaseCh = Character.toUpperCase(ch);
System.out.println("Uppercase of " + ch + " is " + uppercaseCh);
isLetter
方法用于判断一个字符是否是字母,如果是,则返回true,否则返回false。例如,上面的代码将输出"A is a letter",因为ch的值是'A'。
isDigit
方法用于判断一个字符是否是数字,如果是,则返回true,否则返回false。例如,上面的代码将输出"1 is a digit",因为ch的值是'1'。
toLowerCase
方法用于将一个字符转换为小写形式。例如,上面的代码将输出"Lowercase of A is a",因为ch的值是'A',lowercaseCh的值是'a'。
toUpperCase
方法用于将一个字符转换为大写形式。例如,上面的代码将输出"Uppercase of a is A",因为ch的值是'a',uppercaseCh的值是'A'。
注意:在Java 9及以上版本中,推荐使用isLetterOrDigit
方法代替isLetter
和isDigit
方法。
String类
Java中的String类是一个重要的类,用于表示字符串。它是一个不可变类,一旦创建,就不能修改它的值。Java中的字符串都是Unicode字符序列,因此可以表示任何语言的文本。以下是一些使用String类的例子:
// 创建一个String对象
String str = "Hello, world!";
// 连接两个字符串
String firstName = "John";
String lastName = "Doe";
String fullName = firstName + " " + lastName;
// 比较两个字符串是否相等
String str1 = "Hello";
String str2 = "World";
if (str1.equals(str2)) {
System.out.println("Strings are equal");
} else {
System.out.println("Strings are not equal");
}
// 查找一个子字符串
String str = "Hello, world!";
int index = str.indexOf("world");
if (index != -1) {
System.out.println("Substring found at index " + index);
} else {
System.out.println("Substring not found");
}
注意:在Java 9及以上版本中,推荐使用isBlank
方法代替isEmpty
和trim
方法。
Java中的StringBuffer
类用于处理可变的字符串。它是一个线程安全的类,可以在多个线程中同时访问。以下是一些使用StringBuffer
类的例子:
// 创建一个StringBuffer对象
StringBuffer sb = new StringBuffer("Hello");
// 在字符串末尾添加一个字符
sb.append(' ');
sb.append("world!");
// 将一个字符插入到字符串中
sb.insert(5, ',');
// 删除字符串中的一段字符
sb.delete(5, 7);
// 反转字符串
sb.reverse();
// 将StringBuffer对象转换为String对象
String str = sb.toString();
注意:在Java 9及以上版本中,推荐使用StringBuilder
类代替StringBuffer
类,因为StringBuilder
类更快、更简单,而且不需要线程安全性。
java StringBuffer