Java面试题(一)(基础概念与常识)
发布人:shili8
发布时间:2025-03-05 01:07
阅读次数:0
**Java 面试题 (一) 基础概念与常识**
作为一名 Java 开发者,掌握基本的概念和常识是非常重要的。以下是一些常见的问题和答案。
###1. Java 的基本数据类型有哪些?
Java 有八种基本数据类型:
* `byte`:一个字节的整数值,范围从 -128 到127。
* `short`:两个字节的整数值,范围从 -32768 到32767。
* `int`:四个字节的整数值,范围从 -2147483648 到2147483647。
* `long`:八个字节的整数值,范围从 -9223372036854775808 到9223372036854775807。
* `float`:四个字节的浮点数值。
* `double`:八个字节的浮点数值。
* `boolean`:一个布尔值,可以是 true 或 false。
* `char`:一个字符。
javapublic class BasicDataType { public static void main(String[] args) { // byte byte b =127; System.out.println("byte: " + b); // short short s =32767; System.out.println("short: " + s); // int int i =2147483647; System.out.println("int: " + i); // long long l =9223372036854775807L; System.out.println("long: " + l); // float float f =3.14f; System.out.println("float: " + f); // double double d =3.14159265358979323846; System.out.println("double: " + d); // boolean boolean bln = true; System.out.println("boolean: " + bln); // char char c = 'A'; System.out.println("char: " + c); } }
###2. Java 中的运算符有哪些?
Java 支持以下运算符:
* 算术运算符:`+`, `-`, `*`, `/`, `%`, `++`, `--`
* 关系运算符:`==`, `!=`, `<`, `>`, `<=`, `>=`
* 逻辑运算符:`&&`, `||`, `!`
* 赋值运算符:`=`, `+=`, `-=` , `*=` , `/=`, `%=` , `&=` , `^=` , `|=` , `<<=` , `>>=`
javapublic class Operator { public static void main(String[] args) { // 算术运算符 int a =10; int b =2; 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("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("a > b: " + (a > b)); System.out.println("a <= b: " + (a <= b)); System.out.println("a >= b: " + (a >= b)); // 逻辑运算符 boolean bln1 = true; boolean bln2 = false; System.out.println("bln1 && bln2: " + (bln1 && bln2)); System.out.println("bln1 || bln2: " + (bln1 || bln2)); System.out.println("!bln1: " + (!bln1)); // 赋值运算符 int c =10; c +=5; System.out.println("c: " + c); } }
###3. Java 中的控制结构有哪些?
Java 支持以下控制结构:
* 条件语句:`if`, `else if`, `switch`
* 循环语句:`while`, `for`, `do-while`
* 跳转语句:`break`, `continue`, `return`
javapublic class ControlStructure { public static void main(String[] args) { // 条件语句 int a =10; if (a >5) { System.out.println("a 大于5"); } else { System.out.println("a 小于或等于5"); } // 循环语句 for (int i =0; i < 5; i++) { System.out.println("i: " + i); } while (true) { System.out.println("循环体"); break; } do { System.out.println("do-while 循环体"); } while (false); // 跳转语句 switch (10) { case5: System.out.println("case5"); break; default: System.out.println("default"); break; } for (int i =0; i < 5; i++) { if (i ==3) { continue; } System.out.println("i: " + i); } return; } }
###4. Java 中的数组和集合有哪些?
Java 支持以下数组和集合:
* 数组:`int[]`, `String[]`, 等* 列表:`ArrayList`
* 集合:`HashSet`, `TreeSet`
* 映射:`HashMap`, `LinkedHashMap`
javapublic class ArrayAndCollection { public static void main(String[] args) { // 数组 int[] arr = new int[5]; for (int i =0; i < 5; i++) { arr[i] = i; } System.out.println("arr: " + Arrays.toString(arr)); // 列表 Listlist = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); System.out.println("list: " + list); // 集合 Set set = new HashSet<>(); set.add(1); set.add(2); set.add(3); System.out.println("set: " + set); // 映射 Map map = new HashMap<>(); map.put("A",1); map.put("B",2); map.put("C",3); System.out.println("map: " + map); } }
###5. Java 中的线程和并发有哪些?
Java 支持以下线程和并发:
* 线程:`Thread`
* 并发集合:`CopyOnWriteArrayList`, `ConcurrentHashMap`
* 锁:`synchronized`, `ReentrantLock`
javapublic class ThreadAndConcurrency { public static void main(String[] args) { // 线程 Runnable runnable = new Runnable() { @Override public void run() { System.out.println("线程运行"); } }; Thread thread = new Thread(runnable); thread.start(); // 并发集合 Listlist = new CopyOnWriteArrayList<>(); list.add("A"); list.add("B"); list.add("C"); System.out.println("list: " + list); Map map = new ConcurrentHashMap<>(); map.put("A",1); map.put("B",2); map.put("C",3); System.out.println("map: " + map); // 锁 synchronized (this) { System.out.println("synchronized"); } ReentrantLock lock = new ReentrantLock(); lock.lock(); try { System.out.println("lock"); } finally { lock.unlock(); } } }
以上是 Java 面试题 (一) 基础概念与常识 的内容。希望这些问题和答案能够帮助你更好地理解 Java 的基本概念和常识。