从头学Java!!!
作者:互联网
了解Java特性和优势
简单性、面向对象、可移植性、高性能、分布式、动态性、多线程、安全性、健壮性
Java三大版本
- JavaSE:标准版(核心)
- JavaEE:企业版(web端,服务器开发……)
- JavaME:嵌入式(移动版,手机等)
JDK、JRE、JVM
-
JDK:开发者工具(包含JRE、JVM)
-
JRE:运行环境
-
JVM:Java虚拟机
重启第一步:
HelloWorld
Java注释:
- 单行注释: //
- 多行注释: /* …… */
- 文档注释: /** …… */
注释虽然可以不写,但是是一个非常好且重要的习惯
标识符
- 所有的标识符都应该以字母、$、下划线 、数字组成
- 不能使用关键字
- 对于大小写十分敏感
基础
类型
八大基本类型:
- 数值类型
- 整数类型
- byte(1字节)范围:-128 ~ 127
- short(2字节)范围:-32768 ~ 32767
- int(4字节)范围:-214783648 ~ 2147483647
- long(8字节)范围:-9223372036854775808 ~ 9223372036854775807
- 浮点类型
- float(4字节)
- double(8字节)
- 字符类型 char(2字节)
- 整数类型
- boolean(布尔)类型 true/false(1位)
引用类型:
“String不是一个关键字而是一个对象,为引用类型“
- 类
- 接口
- 数组
类型转换
强制类型转换 高->低
自动类型转换 低->高
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量时,是强制转换
- 转换的时候可能存在内存溢出,或者精度问题
// 操作比较大的数据的时候,注意溢出问题
// JDK7新特性,熟自制件可以用下划线分隔
int money = 10_0000_0000;
int years = 20;
int total = money*years;// 输出结果为:-1474836480,int长度不足,结果溢出
// 在'money*years'计算的时候溢出了,计算默认是int,转换之前已经存在问题
System.out.println(total);
// 解决:
long total1 = money*((long)years);// 先把一个数据转为long
System.out.println(total1);
变量
变量是什么,就是可以变化的值
Java变量是程序中最基本的存储单元,要素包括变量名,变量类型和作用域
注意:
-
每个变量都有类型,可以使基本类型,也可以是引用类型
-
变量必须是合法的标识符
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
public class Demo {
// 类变量 static
static int salary = 5000;
// 实例变量:从属于对象,如果不自行初始化,这个类型的默认值 0
// 布尔值默认为false
// 除了基本离线,其余的默认值都是null
String name = "王陌";
int age = 21;
// main方法
public static void main(String [] args){
// 局部变量;必须声明和初始化值
int i = 10;
System.out.println("局部变量,"+i);
// 定义此类,调用类中的变量
// 变量类型 变量名字 = new Demo()
Demo demo = new Demo();
System.out.println("实例变量,"+ demo.name + "," + demo.age);
// 类变量 static
System.out.println("类变量,"+salary);
}
}
命名规范:见其名知其意
常量
初始化后不能在改变的值;不会变动的值
(多个修饰符时,不区分前后)
运算符
- 算术运算符
- + 、 - 、 * 、 / 、%(取余) 、++(自增) 、--(自减)
int a =3;
int b = a++;// 后自增;先调用后自增+1
System.out.println(b);
int c = ++a;// 先自增;先自增+1后调用
System.out.println(c);
// Math,数学函数
// 幂运算
double sum = Math.pow(2,3);// 2的三次方
System.out.println(sum);
- 赋值运算符
- =
- 扩展:+= 、-=、 *= 、/=
a += b // a = a + b
a -= b // a = a - b
a *= b // a = a * b
a /= b // a = a / b
-
关系运算符
- < 、 > 、 <= 、 >= 、 == 、 != 、 instanceof
-
逻辑运算符
- &&(与) 、 ||(或) 、 !(非)
// 与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println((a && b) + " && 逻辑与运算:两个变量都为真,结果才为真");
System.out.println((a || b) + " || 逻辑或运算:两个变量其中有一个为真,结果为真");
System.out.println(!(a && b) + " ! 如果结果为真,则变为假;如果结果为假,则变为真");
// 短路运算
- 位运算符
- & 、 | 、 ^ 、 ~ 、 >> 、 << 、 >>>
a = 0011 1100
b = 0000 1101
a & b = 0000 1100;a与b相比较,上下两个数都为1结果才为1,否则为0
a | b = 0011 1101;其中有一个为1结果为1
a ^ b = 0011 0001;其中有一个为1结果为1,如果两个都为1结果为0
~1 = 1100 0011;取反1=0,0=1
<< 左移 移一位等于*2
>> 右移 移一位等于/2
- 条件运算符(三元运算符)
- ? 、 :
// 字符串连接符 +
System.out.println("" + a + b);
// a + b,在后面表示连接a和b
System.out.println(a + b + "");
// a + b,在前面表示进行运算然后连接""
标签:Java,变量,int,System,运算符,println,从头,out 来源: https://www.cnblogs.com/wang-mo/p/16297807.html