博主 默语带您 Go to New World.
✍ 个人主页—— 默语 的博客👦🏻
《java 面试题大全》
🍩惟余辈才疏学浅,临摹之作或有不妥之处,还请读者海涵指正。☕🍭
《MYSQL从入门到精通》数据库是开发者必会基础之一~
🪁 吾期望此文有资助于尔,即使粗浅难及深广,亦备添少许微薄之助。苟未尽善尽美,敬请批评指正,以资改进。!💻⌨
🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥
本文深入探讨了Java编程语言中的常用关键字及其示例用法。我们从基本的数据类型声明开始,逐步介绍了控制流、异常处理、多线程、类继承等多个关键字的实际应用。通过详细的示例代码,读者将能够更好地理解这些关键字的功能和用法,为Java编程提供了坚实的基础。无论是新手还是有经验的开发人员,都可以从本文中获得有关Java关键字的重要知识和实用技巧。
在Java编程中,关键字、标识符和命名规范是构建清晰、可维护代码的关键因素。本文将深入探讨这些概念,并提供示例以帮助您更好地理解它们。
Java关键字是具有特殊含义的保留单词,它们构成了Java编程语言的基础,开发人员不能重新定义这些关键字。下面是Java的一些关键字及其用途:
AssertionError
。switch
语句。switch
语句中,表示一个分支的情况。switch
语句中,表示默认情况。try
或catch
块执行后执行,无论是否发生异常。for
循环,重复执行一段代码。此外,Java还有3个特殊直接量:true
、false
、null
,它们也不能用作标识符。
DEMO
if
和 else
关键字:public class IfElseDemo {
public static void main(String[] args) {
int number = 10;
// 使用 if 来判断条件是否成立
if (number > 5) {
System.out.println("Number is greater than 5.");
} else {
System.out.println("Number is not greater than 5.");
}
}
}
这个示例演示了如何使用 if
和 else
来根据条件执行不同的代码块。
for
循环:public class ForLoopDemo {
public static void main(String[] args) {
// 使用 for 循环打印数字 1 到 5
for (int i = 1; i <= 5; i++) {
System.out.println("Number: " + i);
}
}
}
这个示例展示了如何使用 for
循环来重复执行一段代码。
switch
关键字:public class SwitchDemo {
public static void main(String[] args) {
int dayOfWeek = 3;
// 使用 switch 来根据不同的值执行不同的分支
switch (dayOfWeek) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
default:
System.out.println("Other day");
}
}
}
这个示例演示了如何使用 switch
来根据不同的值执行不同的分支代码,同时使用 break
来终止分支。
while
循环:public class WhileLoopDemo {
public static void main(String[] args) {
int count = 0;
// 使用 while 循环打印数字 0 到 4
while (count < 5) {
System.out.println("Count: " + count);
count++;
}
}
}
这个示例展示了如何使用 while
循环来重复执行一段代码,直到条件不再满足。
while
循环读取用户输入:import java.util.Scanner;
public class WhileInputDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input;
// 使用 while 循环读取用户输入,直到用户输入 "exit"
while (true) {
System.out.print("请输入内容(输入 'exit' 退出): ");
input = scanner.nextLine();
if (input.equals("exit")) {
System.out.println("退出循环。");
break;
}
System.out.println("你输入的是: " + input);
}
scanner.close();
}
}
这个示例演示了如何使用 while
循环来读取用户输入,直到用户输入 “exit” 为止。
for
循环遍历数组:public class ForArrayDemo {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
// 使用 for 循环遍历数组并打印每个元素
for (int i = 0; i < numbers.length; i++) {
System.out.println("Element at index " + i + ": " + numbers[i]);
}
}
}
这个示例展示了如何使用 for
循环来遍历数组并访问数组的元素。
try
和 catch
处理异常:public class ExceptionHandlingDemo {
public static void main(String[] args) {
try {
int result = divide(10, 0);
System.out.println("Result: " + result);
} catch (ArithmeticException e) {
System.err.println("除法运算出错: " + e.getMessage());
}
}
public static int divide(int a, int b) {
if (b == 0) {
throw new ArithmeticException("除数不能为零");
}
return a / b;
}
}
这个示例演示了如何使用 try
和 catch
来处理异常,以避免程序崩溃。
static
定义静态方法:public class StaticMethodDemo {
public static void main(String[] args) {
int sum = add(5, 3);
System.out.println("Sum: " + sum);
}
public static int add(int a, int b) {
return a + b;
}
}
这个示例演示了如何定义和调用静态方法。
public
、private
和 protected
访问修饰符:public class AccessModifiersDemo {
public static void main(String[] args) {
MyClass myClass = new MyClass();
myClass.publicMethod();
// myClass.privateMethod(); // 私有方法无法在外部访问
// myClass.protectedMethod(); // 受保护方法无法在不同包的外部访问
}
}
class MyClass {
public void publicMethod() {
System.out.println("这是一个公共方法");
}
private void privateMethod() {
System.out.println("这是一个私有方法");
}
protected void protectedMethod() {
System.out.println("这是一个受保护方法");
}
}
这个示例演示了如何使用不同的访问修饰符来控制方法的访问权限。
enum
枚举类型:public class EnumDemo {
public static void main(String[] args) {
DayOfWeek day = DayOfWeek.WEDNESDAY;
switch (day) {
case MONDAY:
System.out.println("星期一");
break;
case TUESDAY:
System.out.println("星期二");
break;
case WEDNESDAY:
System.out.println("星期三");
break;
default:
System.out.println("其他");
}
}
}
enum DayOfWeek {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
这个示例展示了如何使用 enum
枚举类型来表示一组命名的常量。
try
、catch
和 finally
处理异常:public class ExceptionHandlingFinallyDemo {
public static void main(String[] args) {
try {
int result = divide(10, 0);
System.out.println("Result: " + result);
} catch (ArithmeticException e) {
System.err.println("除法运算出错: " + e.getMessage());
} finally {
System.out.println("无论是否发生异常,都会执行这里的代码块");
}
}
public static int divide(int a, int b) {
if (b == 0) {
throw new ArithmeticException("除数不能为零");
}
return a / b;
}
}
这个示例演示了如何使用 try
、catch
和 finally
来处理异常,确保无论是否发生异常,finally
中的代码都会执行。
interface
接口:public class InterfaceDemo {
public static void main(String[] args) {
MyInterfaceImpl myObj = new MyInterfaceImpl();
myObj.display();
myObj.show();
}
}
interface MyInterface {
void display();
}
class MyInterfaceImpl implements MyInterface {
public void display() {
System.out.println("实现了 display() 方法");
}
void show() {
System.out.println("自定义方法");
}
}
这个示例演示了如何定义接口和实现接口,以及如何使用接口的方法。
extends
关键字继承类:public class InheritanceDemo {
public static void main(String[] args) {
ChildClass child = new ChildClass();
child.printMessage();
}
}
class ParentClass {
void printMessage() {
System.out.println("这是父类的消息");
}
}
class ChildClass extends ParentClass {
@Override
void printMessage() {
System.out.println("这是子类的消息");
}
}
这个示例演示了如何使用 extends
关键字来创建类的继承关系,子类可以覆盖父类的方法。
static
关键字创建静态成员:public class StaticDemo {
public static void main(String[] args) {
Employee emp1 = new Employee("Alice");
Employee emp2 = new Employee("Bob");
Employee.displayTotalEmployees();
}
}
class Employee {
private static int totalEmployees = 0;
private String name;
public Employee(String name) {
this.name = name;
totalEmployees++;
}
public static void displayTotalEmployees() {
System.out.println("总员工数: " + totalEmployees);
}
}
这个示例展示了如何使用 static
关键字来创建静态成员变量和方法,静态成员与类相关联而不是实例。
return
语句返回值:public class ReturnDemo {
public static void main(String[] args) {
int result = addNumbers(5, 3);
System.out.println("和为: " + result);
}
public static int addNumbers(int a, int b) {
return a + b;
}
}
这个示例演示了如何使用 return
语句从方法中返回值。
volatile
关键字:public class VolatileDemo {
private static volatile boolean flag = false;
public static void main(String[] args) {
Thread writerThread = new Thread(() -> {
flag = true;
System.out.println("标志位已设置为 true");
});
Thread readerThread = new Thread(() -> {
while (!flag) {
// 等待标志位变为 true
}
System.out.println("标志位已变为 true");
});
writerThread.start();
readerThread.start();
}
}
这个示例演示了如何使用 volatile
关键字来保证多个线程之间的可见性。
break
和 continue
关键字:public class BreakContinueDemo {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
System.out.println("遇到 3,跳过");
continue;
}
if (i == 4) {
System.out.println("遇到 4,终止循环");
break;
}
System.out.println("Number: " + i);
}
}
}
这个示例演示了如何使用 break
和 continue
关键字来控制循环的执行流程。
assert
关键字:public class AssertDemo {
public static void main(String[] args) {
int age = 15;
// 使用 assert 断言条件是否为真
assert age >= 18 : "年龄必须大于等于 18";
System.out.println("年龄合法");
}
}
这个示例演示了如何使用 assert
关键字来进行断言检查,用于调试和验证条件是否成立。
native
关键字:public class NativeDemo {
public static native void nativeMethod();
public static void main(String[] args) {
System.loadLibrary("NativeLibrary"); // 加载本地库
nativeMethod(); // 调用本地方法
}
}
这个示例演示了如何使用 native
关键字来声明并调用本地方法,通常与本地库一起使用。
goto
关键字:// Java 不支持 goto 关键字,这里提供一个示例以展示 Java 中的标签和 break 用法
public class GotoDemo {
public static void main(String[] args) {
outerLoop:
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (i == 2 && j == 2) {
break outerLoop; // 使用标签和 break 模拟 goto
}
System.out.println("i=" + i + ", j=" + j);
}
}
}
}
在 Java 中,没有 goto
关键字,但可以使用标签和 break
语句模拟跳转到指定位置。
strictfp
关键字:public class StrictfpDemo {
public strictfp static void main(String[] args) {
double result = divide(10.0, 3.0);
System.out.println("Result: " + result);
}
public strictfp static double divide(double a, double b) {
return a / b;
}
}
strictfp
关键字用于声明浮点数表达式必须遵循 IEEE 754 标准,以确保在不同平台上的一致性。
this
关键字:public class ThisKeywordDemo {
private String name;
public ThisKeywordDemo(String name) {
this.name = name; // 使用 this 关键字区分成员变量和构造函数参数
}
public void printName() {
System.out.println("Name: " + this.name); // 使用 this 关键字访问成员变量
}
public static void main(String[] args) {
ThisKeywordDemo obj = new ThisKeywordDemo("Alice");
obj.printName();
}
}
this
关键字用于区分成员变量和局部变量,以及在构造函数中引用当前对象。
super
关键字:class Animal {
void makeSound() {
System.out.println("动物发出声音");
}
}
class Dog extends Animal {
@Override
void makeSound() {
System.out.println("狗发出汪汪声");
}
void display() {
super.makeSound(); // 使用 super 关键字调用父类方法
}
}
public class SuperKeywordDemo {
public static void main(String[] args) {
Dog dog = new Dog();
dog.makeSound(); // 调用子类方法
dog.display(); // 调用子类中使用 super 调用的父类方法
}
}
super
关键字用于调用父类的方法或访问父类的成员。
instanceof
关键字:public class InstanceOfDemo {
public static void main(String[] args) {
Object obj = "Hello, Java";
if (obj instanceof String) {
System.out.println("obj 是 String 类型");
} else {
System.out.println("obj 不是 String 类型");
}
}
}
instanceof
关键字用于测试一个对象是否是指定类型的实例。
标识符是由程序员定义的名称,用于表示类、方法、变量等。命名标识符时需要遵循一些规则:
以下是一些有效的标识符示例:
int age;
String firstName;
double accountBalance;
为了使代码清晰易读,我们应该遵循以下基本命名规范:
StudentRecord
。com.example.myapp
。studentAge
。PI_VALUE
。以下是符合基本命名规范的示例:
class StudentRecord {
int studentAge;
final double PI_VALUE = 3.14159;
}
高级命名规范是为了提高代码可读性和维护性而制定的,根据开发经验指定的,建议遵守。
get
前缀用于返回数据,set
前缀用于设置数据,is
前缀用于布尔值的方法等。com.example.myapp
。泛型类型通常使用单个大写字母表示,例如:
T
:通常表示类型。K
:通常表示键。V
:通常表示值,有时候会使用 U
或 S
表示通用类型。?
:通常表示不确定的 Java 类型。N
:通常表示 Number,常用于表示数值类型。T
:通常表示 Type(类型),通常指代类。K
:通常表示 Key(键),常用于 Map 中。V
:通常表示 Value(值),常用于 Map 中,通常与 K
成对出现。X
:通常表示异常的类型。。遵守Java的关键字、标识符和命名规范是编写清晰、可维护代码的关键。通过正确使用这些概念,您可以提高代码的可读性和可维护性,从而更轻松地开发和维护Java应用程序。希望本文提供的信息对您有所帮助,让您更好地理解和应用Java编程中的这些基本概念。
如对本文内容有任何疑问、建议或意见,请联系作者,作者将尽力回复并改进📓;(联系微信:Solitudemind )
点击下方名片,加入IT技术核心学习团队。一起探索科技的未来,共同成长。