最近在学JavaSE部分的知识,这个系列主要用来记录一些自己写程序时碰到的问题,或者和之前C/C++有所不同的地方(也有可能是自己C/C++没学到位orz)。
如果之后还会碰到相同内容下的不同问题,会在这篇文章里继续补充的。
常量&变量
整型
- 二进制:输入的时候以
0b
开头。
如:
System.out.println(0b11100111);//表示二进制数11100111
[注]println
输出完数据之后自带换行,如果想输出之后不换行可以用print
。
- 八进制:输入的时候以
0
开头。
如:
System.out.println(0723102);//表示八进制数723102
- 十六进制:输入的时候以
0x
开头。
如:
System.out.println(0xa12390);//表示十六进制数a12390
[注]这些进制数均默认以十进制的方式输出。
浮点型
- 给
float
型变量赋值时,后面一定要加上f
或F
,而为double
型变量赋值时,字符d
或D
可加可不加。 - 可以给一个浮点数类型的变量赋予一个整数数值,此时不用加
f
或F
。
如:
float f = 123.4f;//此处必须加上字母f
double d1 = 100.1;//可以省去字母d
double d1 = 199.3d;//也可以加上字母d
float x = 100;//直接写整数是可以的,此时可以不写f
float x = 100.2f;//如果是个小数,还是得写f
字符型
'\u0000'
表示一个空白字符,因为Java采用的是Unicode字符集,Unicode字符以\u
开头,空白字符在Unicode码表中对应的值为'\u0000'
。
字符串型
- 字符串之间的比较需要用
equals
,而不是==
。因为在Java中==
是用来比较引用的内存地址的,而String是final类型的,每个对象的地址都不一样,除非手工指向同一个。
数组
定义
int[] x = new int[100];
静态初始化
类型[] 数组名 = new 类型[]{元素,元素, ...};
类型[] 数组名 = {元素,元素, ...};
- 利用静态初始化,可以完成一些比较简略的一种写法:
//静态初始化写法:
market.setProducts(new Product[] {apple, orange, juice});
//普通方法:
Product[] products = new Product[] {apple, orange, juice};
market.setProducts(products);
加强型循环
for(type element: array)
{
System.out.println(element);
}
放在具体例子中,就是:
double[] myList = {1.9, 2.9, 3.4, 3.5};
// 打印所有数组元素
for (double element: myList) {
System.out.println(element);
}
Random&Scanner
- 生成0~100的随机数:
import java.util.Random;
...
Random random = new Random();
int x = random.nextInt(101);//生成0~100的随机数
[注]nextInt
生成的随机数范围是左闭右开的,即:[0,101)。
- 从键盘读入数据:
import java.util.Scanner;
...
Scanner scanner = new Scanner(System.in);
String productName = scanner.nextLine();//从键盘读入一个字符串
[注]在读入字符串时,next()
方法碰到空格会停止,而nextLine()
会读入包含空格的一整行字符串。