目录
Java基础
1.Java语言的特点?
简单性、高性能、编译性、解释性、面向对象、分布式处理、健壮性、安全性、开源
2.java为什么能跨平台?
1)首先开发好的程序 HellowordApp.java经过编译器的编译变为HellowordApp.class文件,然而这个.class文件并不是真正的本地可以执行的指令 我们可以把这个.class文件称之为“中间码”
2)不同的计算机操作系统有着相应的JVM 比如win32位的 win64位的 linux系统的,.class文件经过Interpreter(解释器,也就是JVM)的解释(或者称之为翻译),变为真正的本地可执行指令(“00101001001…”)
3. JDK JRE JVM的关系?
1)JDK是整个Java的核心
2)JRE,是运行JAVA的运行时环境
3)JVM,Java的虚拟机,整个java实现跨平台的最核心的部分
4.数值的基本类型?
5.&和&&的区别?
&&:逻辑与运算符。当运算符左右两边的表达式都为 true,才返回 true。同时具有短路性,如果第一个表达式为 false,则直接返回 false。
&:逻辑与运算符、按位与运算符。
按位与运算符:用于二进制的计算,只有对应的两个二进位均为1时,结果位才为1 ,否则为0。
逻辑与运算符:& 在用于逻辑与时,和 && 的区别是不具有短路性。所在通常使用逻辑与运算符都会使用 &&,而 & 更多的适用于位运算
6.String 是 Java 基本数据类型吗?
答:不是。Java 中的基本数据类型只有8个:byte、short、int、long、float、double、char、boolean;除了基本类型(primitive type),剩下的都是引用类型(reference type)。
基本数据类型:数据直接存储在栈上,引用数据类型区别:数据存储在堆上,栈上只存储引用地址
7.基本类型的数值转换?
- 小类型转大类型直接转换(隐式转换)
2)大类型转换小类型(强转)
3)byte,short,char三种比int小的整数,运算时会先自动转换成int
8.a=a+b与a+=b的区别?
- += 操作符会进行隐式自动转换
- a=a+b 不会自动进行转换:
9.自增自减
- a++ 先取值在进行自增
- ++a 先自增在进行取值
10.三元运算符
1)a > b ? a : b
如果a>b 为true取值为a,为false取值为b
11.循环
- for循环的执行过程(第一次执行红色,第二次执行蓝色)
- 双层for循环
3)for循环中break和continue的区别?
- while循环和do while循环的区别?
While循环在循环时先进行判断,
do while 循环先进行判断在进行循环,
do while 循环最少执行一次,while循环有可能一次都不执行
数组
1.数组的创建
动态初始化:int a []=new int[5];
静态初始化:int a []=new int [] {1,2,3,4,5};
Int a []={1,2,3,4,5};
2.Arrays数组的工具类
Arrays.toString 把数组里的数据,用逗号连接成一个字符串
Arrays.sort 把数组的数据进行排序
Arrays.copyOf(数组,新的长度)
动态初始化:int a [] []=new int [行个数] [列个数];
静态初始化:int a [] []=new int [] [] {{1,2,3},{1,2,3}};
遍历二维数组: