今天是学习java的第一天;学习了如下的相关知识
一.java的语言特性
1.具有跨平台的特性:
平台就是操作系统(windows,MacOs,Linux)
java可以在不同的平台上实现运行
2.JVM:java虚拟机(java程序都是在虚拟机上运行的)
3.JRE:java运行环境(JVM + lib)
4.JDK:java开发环境(JRE + Tools)
Tools常用命令:
javac:运行命令
java:编译命令
学会了如何去配置java的环境如下;
5.JDK的环境配置
我的电脑 -> 右键 -> 属性 -> 高级系统设置 -> 环境变量 -> 系统变量
系统变量 -> 新增JAVA_HOME
变量名: JAVA_HOME
变量值: jdk中bin的根目录
修改Path -> 添加%JAVA_HOME%\bin
6.java文件开发步骤:
编写、编译、运行
HelloWorld.java -> 编译 -> HelloWorld.class -> 运行 -> jvm虚拟机
二、Java基础语法
1.注释方法;
单行注释: \\
多行注释: /**/
文档注释: /***/
2.变量
1)概念
在程序执行过程中,它的值是可以发生改变的量,称之为变量
2)作用
用于存储数据,表示(JVM内存)内存中的一块存储区域,在这块区域内的值是可变的.
3)变量的三要素
a.数据类型
b.变量名
c.值
数据类型 + 变量名 = 值(可变)
4.计算机的存储单元
1)概念
计算机是可以用来存储数据的,无论内存还是硬盘,
使用最小信息单元叫做位,也叫做 bit , 小写b表示
计算机中最基本的存储单元叫做 字节,大写B, 字节是由连续的8个位组成
1字节 = 8位
2字节 = 16位
1kb = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
2)进制
常见:十进制、十六进制、八进制、二进制
二进制(只能存储 0 和 1,符号位)
+10 -10
符号位: 0 表示正数,1表示负数
原码:
有符号位表示正数或者负数,其他位按照数字本身表示
反码:
正数:和原码相同
负数:符号位不变,其他位按位取反
补码:
正数:和原码相同
负数:符号位不变,其他位按位取反,再加1(反码+1)
需求: 计算25 / -25的补码
1 2 4 8 16 32 64 128
1 x 2^0 = 1
1 x 2^1 = 2
1 x 2^2 = 4
1 x 2^3 = 8
(如下是举的几个例子)
25
原码: 0001 1001
反码: 0001 1001
补码: 0001 1001
-25
原码: 1001 1001
反码: 1110 0110
补码: 1110 0111
-128(这个是最特殊的)
补码: 1000 0000
反码: 1 1111 1111
原码: 1 1000 0000
-60 推算补码(自己尝试了一下)
1110 1100 推算原码
3.Java中的数据类型:基本数据类型 + 引用数据类型
4. 8大基本数据类型(这个要记牢)
整型: byte、short、int、long
浮点型:float、double
字符型:char
布尔类型:boolean
1)整型
byte: 字节类型
占内存: 1字节 = 8位
存储范围: -128 ~ 127
short:短整数类型
占内存: 2字节 = 16位
存储范围: 32767 ~ -32768
int:整数类型(默认类型,直接量,默认量)
占内存: 4字节 = 32位
存储范围: -2^31 ~ 2^31-1
long: 整型
占内存: 8字节 = 64位
存储范围: -2^63 ~ 2^63-1
作用: 专门用于表示时间,格林威治时间: 1970年1月1日00:00:00
2)浮点型
float: 单精度浮点型
占内存: 4字节 = 32位
存储范围: 符号位 1位 指数位8位 尾数位 23位
double: 双精度浮点型
占内存: 8字节 = 64位
存储范围:符号位 1位 指数位11位 尾数位 52位
注意: 浮点型不能用于判断两个值是否相等,因为会出现精度缺失问题
3)布尔类型(boolean)
取值: true/fasle
4)字符型 char
占内存: 2字节 = 16位
取值范围: 0 ~ 65535 / '\u0000' ~ '\uffff'
java中存储字符:
java在jvm中使用字符集: Unicode 1字符 = 2字节
5)类型从小到大排列
byte -> short -> int -> long -> float -> double
char (范围小的可以直接转换成范围大的类型,但是相反则会报错)
5.标识符
1)命名规则(必须遵守)
a.只能使用26个英文字母表示(大小写),_ $,数字
b.不能以数字开头
c.不能包含空格
d.严格区分大小写
2)命名规范(建议)
a.见明知意,可读性要好
b.类名: 驼峰命名法(每个单词首字母大写)
c.变量名/方法名: 小驼峰命名法(第一个单词全小写,第二个单词开始首字符大写)
d.包名: 全小写,域名倒写
e.常量名: 全大写,多个单词拼接使用_