变量

声明变量的本质就是在内存中申请一个存储单元。里面的数据可能会变化,所以叫变量。
不同的变量需要的存储单元数不同。
变量名是为了寻找这块单元用的。

在Java中声明和赋值是这样的

int x = 5;
int y;
int 你好 = 6;

基本数据类型

byte short int long float double boolean char

Java 输入

int age;
String name;
Scanner sc = new Scanner(System.in);
name = sc.next();
age = sc.nextInt();

进制转换

正数十进制到二进制

可以一直除2取余

正数二进制转十进制

对应位置乘权相加

负数十进制转二进制

把绝对值转二进制,然后取反+1

负数二进制转十进制

-1 取反 然后按正数二进制转十进制处理

整数类型

大部分时间用int即可。
注意一个点,java默认的数字是int类型。
如下代码

int x = 123456789098765432123456789

虽然肯定会报错,因为int存不下这么大的数字。但是在赋值给x之前其实就出问题了。因为java的数字默认是int类型,所以这么大的数字表示不了。解决方法是在后面加L。
更大的数字需要java.math.BigInteger

浮点数

java默认是double,如果要float要加f,可以看看上面的整数。
浮点数不准确,涉及到钱要用BigDecimal。

字符类型

通常是两个字节,能表示0~65535

char ch = 'a';
System.out.println("ch is " + a + "and its ASCII is " + (int)ch);

类型转换

分为两种。自动类型转换(小类型转大类型),强制类型转换(大类型转小类型)。
强制类型转换可能引起损失,损失的方式是截断。