class Life{ public static void main(String[] args){ int alive; while(alive) { eat(); sleep(); code(); repeat(); } } }
老人说,这不丢脸,也无损真正的骄傲.
1.JAVA的基础数据类型
合理使用数据类型,能够省出大量内存,运行性能大幅度增高,何况还能更加规范,代码可读性更好.
JAVA的两大数据类型 :
- 内置数据类型
- byte short int long float double boolean char
- 引用数据类型
- 类(class) 接口(interface) 数组
类型的相关注意点:
- boolean 类型数据只允许取值 true 或 false ,不可以用0或者其他什么方式来代替true 或 false,默认值为false.
- float 类型 必须在数值后面加上F或者f , long类型必须在数值后面加上l或者L,因 l 和 1 显示极其相似,所以建议全部大写.
- 整型常量默认为int类型 默认为0,浮点型默认为 double类型 默认为0L.
- 可以从任意类型转换为其他基本类型(boolean类型除外),容量小的默认转换为容量大的.
- byte,short,char->int->long->float->double
- byte,short,char自动转换为int类型
2.变量类型
变量是用来存放程序在执行过程中需要临时存放的数据
JAVA支持的变量类型 :
- 类变量 : 独立于方法之外的变量 , 用static修饰.
- 实例变量:独立于方法之外的变量, 不过没有 static 修饰.
- 局部变量:类的方法中的变量.
变量相关注意点 :
- 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁.
- 局部变量是在栈上分配的.
- 当一个对象被实例化之后, 每个实例变量的值就跟着确定.
- 实例变量在对象创建的时候创建,在对象被销毁的时候销毁.
- 静态变量储存在静态存储区。经常被声明为常量, 很少单独使用static声明变量.
- 实例变量不需要初始化, 局部变量必须需要初始化, 有个特例就是形参, 形参不需要初始化(实际上形参在未调用时未初始化,而在调用时就已经赋值了.)
3.运算符
算术运算符
加( + ) , 减 ( - ), 乘( * ), 除( / ), 模( % ), 自加( ++ ), 自减( – )
除( / ) 的时候, 如果有一个运算数是浮点型, 则结果是浮点数.如果都是int, 则除( / ) 为整除.
自加自减 简单来说 num++ 先取值再运算 ++num 先运算再取值
int num = 5; System.out.println(num++); //5 先取值5 下次运算时为6 --num; // 先运算 6-1 下次取值 5 System.out.println(num--); //5 先取值5 下次运算为5-1 System.out.println(num++); //4 先取值4 下次运算4+1 num++; // 先取值 5 下次运算为5+1 System.out.println(num); // 上次运算后 num = 6;
关系运算符
- == , != , > , < , >= ,<=
位运算符
位运算符都是在操作二进制.如下方代码
& 与 对应位数都为1, 结果为1, 否则为0
| 或 对应位数都为0, 结果为0, 否则为1
^ 异或 对应位数相同, 结果为0, 否则为1.
~ 取反 所有位数去相反值, 1换为0, 0换为1.
<< 按位左移运算符 左操作数按位左移右操作数指定的位数。
>> 按位右移运算符 左操作数按位左移右操作数指定的位数。
>>> 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。
A = 0011 1100 B = 0000 1101 <hr /> A&b = 0000 1100 A | B = 0011 1101 A ^ B = 0011 0001 ~A= 1100 0011
逻辑运算符
- &&(短路与) ||(短路非) !(逻辑非)
赋值运算符
- = , += , <<= , &= , ^= ….
- a+=b 同价于 a = a + b , 其他同理.
其他运算符
三目运算符 , 字符串连接运算符( + );
// 字符串连接demo public class Str { public static void main(String []args) { int num1 = 5; int num2 = 7; String str = "this is string!"; System.out.println(num1 + num2 + str); // 12this is string! System.out.println(num1 + str + num2);// 5this is string!7 System.out.println(str + num1 + num2);//this is string!57 } }
希望别在JAVA的路上从入门到入土, 共勉!
CNcots CN Caprice of the stone的简写, 译为石头的随想曲.
博客中有网上摘抄的资料. 有个人的一些小心得 ,有什么不对的地方, 还请各位观客老爷们指出.
JavaNote系列博客是个人学习时间段整理的一些笔记, 会坚持每周至少一更,希望大家多多关照.