java中的数据类型
- 基本数据类型:描述的是一些具体的数字单元
- 数值型:
- 整型:byte、short、int、long;
- 浮点型:float、double;
- 布尔型:boolean;
- 字符型:char;
- 数值型:
- 引用数据类型:牵扯到内存关系的使用
- 数值、类、接口
注意:字符串String不是基本数据类型,而是一个对象(final类)(在任何编程语言里面都没有提供字符串这种基本数据类型,但都会提供字符串的相应描述)。String用双引号包裹。
位运算
面试题:请解释&和&&、|和||的区别?
- &和|两个运算符可以进行位运算和逻辑运算
- 在进行逻辑运算的时候所以的判断条件都要执行
- 在进行位运算的时候只是针对当前的数据进行与、或
- 在逻辑运算上还可以使用&&和||
- &&:在若干个条件判断的时候,如果前面的条件返回了false,后面的条件不再判断,最终就是false
- ||:在若干个条件判断的时候,如果前面的条件返回了true,后面的条件不再判断,最终就是true
switch开关语句
在写switch语句时,如果一个语句后面没有跟上break,会在执行完这条语句后一直执行后续的所有代码或遇到break为止,后面代码执行时不再进行判断,直接执行。
循环控制
- break:结束循环
- continue:只结束当前的那次循环。continue后接标签还可以实现go to语句的功能。
打印三角形小练习
public class Triangle {
public static void main(String args[]) {
int line = 5;
for(int x = 0; x <= line; x++) {
for(int y = 0; y < line-x; y++) {
System.out.print(" ");
}
for(int y = 0; y < x; y++) {
System.out.print("* ");
}
System.out.println();
}
}
}
递归
1 + 2 + ... + n
public class Plus {
public static void main(String args[]) {
System.out.println(sum(100));
}
public static int sum(int x) {
if (x == 1) {
return 1;
}
return x + sum(x-1);
}
}
【第1次执行sum()、主方法执行】return 100 + sum(99)
【第2次执行sum()、sum()递归调用】return 99 + sum(98)
...
【第99次执行sum()、sum()递归调用】return 2 + sum(1)
【第100次执行sum()、sum()递归调用】return 1
于是:return 100 + 99 + 98 + ... + 1
1! + 2! + ... + 90!
public class Mul {
public static void main(String args[]) {
System.out.println(mul(90));
}
public static double sum(int x) {
if (x == 1) {
return 1;
}
return mul(x) + sum(x-1);
}
public static double mul(int x) {
if (x == 1) {
return 1;
}
return x * mul(x-1);
}
}