JAVA学习第一天

JAVA学习第一天

1.Java发展历史
JDK1.0 ~ 1.5
JDK1.6 ~ JDK8
JDK8 JDK11 常用版本
2.JDK Java Development Kit
包含了 常用工具 + JRE
JRE Java Runtime Enverioment
包含了 Libraries + JVM
类库,依赖 JFrame JPanel…
JVM Java Virtual Machine
Java虚拟机 Java可跨平台的

Mac Window Linux

3.安装JDK
安装步骤默认,安装目录
默认:C:\Program Files\Java\jdk9.0.4
JDK安装目录,Java根目录

工具,终端(命令提示符)
  java[运行]  javac[编译]
错误:不是内部或外部可执行命令 -> 操作系统环境找不到对应的命令
  环境变量:path(系统执行命令时,搜索命令的路径)
命令:就是工具,也可以称之为脚本文件
  命令未找到:1.文件不存在,2.文件所在路径没有加到path中
  执行命令,搜索范围:
  	1.在当前目录
  	2.在环境变量path中定义的所有路径中搜索

Java命令所在目录:Java根目录/bin
此电脑 -> 右键 -> 属性 -> 高级 -> 环境变量 -> 系统变量 -> path -> 双击打开 -> 新建 -> bin路径添加进去 -> 测试时重新打开CMD

4.IDE 集成开发工具
Eclipse - IBM 免费
IDEA - 收费,学生体验版

MyEclipse - 收费
JCreater
NetBeans
vsCode

5.javac java工具
1.写代码
2.cd /Users/bonnie/Desktop
说明:切换当前目录
3.编译:xx.java(源文件)->翻译成二进制文件(字节码文件)
xx.java -> 编译 -> xx.class
javac: 编译器
javac Demo1.java
4.运行:运行是使用Demo1.class文件运行,实际上是运行[类]
java Demo1

结论:代码在运行前需要编译
	 改变运行结果,需要改变源代码,并重新编译

6.Java 变量
变量概念:在内存中开辟一块空间,用来存储数据
int a = 1;
初始化:第一次赋值
注意:1.变量在使用之前,必须声明以及初始化
2.变量类型不能改变
3.变量不能重复声明,但是可以重复赋值

数据类型:2种
1.基本数据类型 8种
2.引用类型

基本数据类型:8种
整数类型:byte short int long
浮点类型:float double
其他:boolean char

基本数据类型在内存中的存储是以2进制(补码)方式存储的
正数: 原码 反码 补码 都是一样的
负数: 原码
反码 = 原码符号不变,其他按位取反
补码 = 反码 + 1

byte:8位 bit = 1 byte = 1字节
最大值:0111 1111 -> 2^7 - 1 = 127
(假)最小值:1111 1111 - 补码
1111 1110 - 反码
1000 0001 - 原码 -> -1

-2  1000 0010
    1111 1101
    1111 1110
结论:补码计算和10进制计算方式一致

(真)最小值:1000 0000
1 0111 1111
1 1000 0000 -> -128 = -2^7
short:16位 (3万)
最小值:-2^15
最大值:2^15-1
int:32位 (21亿)
最大值: 2^31-1
最小值: -2^31
long:64位
最大值:2^63-1 9223372036854775807
最小值:-2^63
注意:所有的整数字面量/直接量,默认类型是int
最常用 int 类型
long类型通常用于表示 时间
long = 0 -> 1970年1月1日 00:00:00

7.浮点类型:科学计数法
float 32位
1个符号位 8个指数位 23个尾数位
double 64位
1个符号位 11个指数位 52个尾数位
注意:1.会有精度缺失,所以浮点类型的数据不能使用 == 判断
2.float和double严格上来说,两个都不精确
double会相对精确一点
3.所有小数直接量,默认类型是double类型
8.字符类型:1个字符 就是 2个字节
char 没有符号的16位 0 ~ 2^16-1(65535)
全部都是正整数
Java(JVM)中采用 Unicode 编码
Window、Linux操作系统中 GB2313(GBK) UTF-8 编码
9.boolean类型:1个字节
值:true false

10.运算符: 运算符左右两边数据的类型要统一
算术运算符 + - * / % ++ –
/ :整除 3/2 = 1
3.0/2 = 1.5
++ --: 数据类型不会改变
++放在后面:先使用,在加 1
++放在前面:先加 1,再使用
比较运算符 > < >= <= == !=
赋值运算符 = += -= *= /=
数据类型不会改变
位运算符 &(与) |(或) ^(抑或)
2 & 4 = 0000 0010 & 0000 0100 = 0
2 | 4 = 0000 0110 = 6
2 ^ 4 = 0000 0110 = 6

    &: 1&1=1  1&0=0  0&0=0
    |: 1|1=1  1|0=1  0|0=0
    ^: 1^1=0  1^0=1  0^0=0
       相同=0,不同=1

逻辑运算符 && (&) || (|) !(非)
	逻辑运算符左右两边都是boolean值
		boolean b1, b2;
		b1 && b2 => boolean
		b1 || b2 => boolean
		b1 = !b2 => boolean
 & 和 && 的区别:
  1.	& 可以是位运算符,也可以是逻辑运算符
    && 只能是逻辑运算符
  2. 当他们都是逻辑运算符时,&& 是短路操作
  短路:当前半部分表达式已经能确定整个结果,后半部分就不需要运行
位移运算符:>>   <<   >>>
  >>:右移,等同于 / 2
  <<:左移,等同于 * 2
  >>>:无符号右移
  	-11:1000 1011
  		 1111 0100
  		 1111 0101
  		 右移1位 :补位,补符号位 >>
  		 1111 1010
  		 1111 1001
  		 1000 0110 =》 -6
  	-11:1000 1011
  		 1111 0100
  		 1111 0101 
  		 无符号右移1位 :补位,永远补0
  		 0111 1010
 原 	1000 0000 0000 0000 0000 0000 0000 1011
 反 	1111 1111 1111 1111 1111 1111 1111 0100
 补 	1111 1111 1111 1111 1111 1111 1111 0101
 移 	01111 1111 1111 1111 1111 1111 111 1010
三目运算符:
	boolean表达式 ? 值1 : 值2

	boolean表达式 为true,结果就是值1
	boolean表达式 为false,结果就是值2

11.JShell JDK9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值