java入门和变量,运算符

1 Java介绍
1.1 认识Linux操作系统
Linux起源于1991年,1995年随着互联网的发展而流行开来;它是一个开源的操作系统,是一个类Unix操作系统;目前,Linux是主流的服务器操作系统,广泛应用于互联网、云计算、智能手机(Android)等领域;由于Java主要用于服务器端的开发,因此Java应用的部署环境很多为Linux。
1.2 Java发展历史
Java之父:詹姆斯·高斯林。
1991年,在Sun公司工作期间,高斯林和一群技术人员创建了一个名为Oak的项目,旨在开发运行于虚拟机的编程语言,同时允许程序在电视机机顶盒等多平台上运行。后来,这项工作就演变为Java。随着互联网的普及,尤其是网景开发的网页浏览器的面世,Java成为全球流行的开发语言。因此被人称作Java之父。
Java百度百科:

1991年Sun公司为了抢占单片机智能化市场先机,成立了Green项目小组,该小组在解决单片机系统编程问题时,对C++进行了改造,开发了一种称为Oak的面向对象语言。
1995年,随着互联网的蓬勃发展,Sun公司发现Oak很适合在网络上传输,继而推出了可以嵌入网页并且可以随同网页在网络上传输的Applet,并将Oak更名为Java。
1996年JDK1.0面世。
1998年J2EE发布。
1999年J2ME、J2SE、J2EE正式发布,标志着Java应用开始普及。
2004年J2SE1.5发布,更名为Java SE 5.0,代号为“Tiger”,是Java语言发展史上的又一里程碑。包含了从1996年发布1.0版本以来的最重大的更新,其中包括泛型支持、基本类型的自动装箱、改进的循环、枚举类型、格式化I/O及可变参数。
2009年,Oracle收购Sun。
2011年推出Java7。
2014年发布Java8。
1.3 Java编译运行过程
程序员编写的Java源文件(.java)首先要经过编译,生成所谓字节码文件(.class);
Java程序的运行需要JVM的支持。JVM是一个软件,安装在操作系统中,为字节码文件提供运行环境;

Java官方提供了针对不同平台的JVM软件,这些JVM遵循着相同的标准,只要是标准的.class文件,就可以在不同的JVM上运行,而且运行的效果相同。这样,就实现了所谓“一次编程到处使用”。


1.java变量
1.在jvm内存中开辟了一块空间,用来存储数据
2.变量使用前:
1)声明/定义: 类型 + 变量
int a;
2)初始化: 第一次赋值
a = 10;
a = 20;//再次赋值

2.类型: 基本数据类型 + 引用数据类型

进制:二进制/十进制/八进制/十六进制 
	超过10 用小写字母小时 a表示10 f表示15
	二进制(符号位):二进制中只能存放数字的0和1
		最高位表示符号位:
			0表示正数,正1表示负数

	原码:符号位0表示正数,正1表示负数,剩下数字位表示数字本身
	反码:正数的反码和原码相同,负数的反码符号位不变,其他位按位取反
	补码:正数的补码和原码相同,反码+1[负数的补码符号位不变,其他位按位取反再+1]

	原码		补码		反码

正数 正数 正数 正数
负数 负数 反码+1 符号位不变,其他位按位取反

补码:1 000 0000
反码:借位减1 -> 1 1000 0000 -> 1 111 1111
原码:1 111 1111 -> 1 1000 0000 -> -128

基本数据类型:8种
	整型:byte/short/int/long
	浮点型:double/float
	字符型:char
	布尔类型:boolean
		返回 true 或 false

-1
原码: 1 000 0001
反码: 1 111 1110
补码: 1 111 1111

-2:
原码: 1 000 0010
反码: 1 111 1101
补码: 1 111 1110

-3:
原码: 1 000 0011
反码: 1 111 1100
补码: 1 111 1101

-4
原码: 1 000 0100
反码: 1 111 1011
补码: 1 111 1100

最小值推算:
补码:1 000 0000
反码:借位减1 -> 1 1000 0000 -> 1 111 1111
原码:1 111 1111 -> 1 1000 0000 -> -128

byte -> short -> int -> long -> float -> double

整型:
整型的默认直面量/直接量是int类型
byte: 1字节 = 8位
byte的最大值: 0 111 1111 -> 2^7-1 = 127
btye的最小值: 1 000 0000 -> 2^7
取值范围: -128 ~ 127
-1 ~ -128 0~127

short:2字节 = 16位
取值范围: -2^15 ~ 2^15-1

int:4字节 = 32位
取值范围: -2^31 ~ 2^31-1

long:8字节 = 64位
取值范围: -2^63 ~ 2^63-1
使用long类型:必须用L/l标记
long = 0时,格林威治时间的 1970年1月1日 00:00:00

浮点型:
浮点型的默认字面量/直接量就是double
float: 32位
符号位 指数位 尾数位
1 8(^127) 23
必须使用f/F标记是float类型
double: 64位
符号位 指数位 尾数位
1 11(^1023) 52

客观存在问题:
	精度缺失,两个浮点型就不能用来判断是否相等

字符型: 32位
取值范围: 0 ~ 2^32-1 = 65535
‘\u0000’ ~ ‘\uffff’
ASCII码中特殊的值:
48 = 字符0
97 = a
65 = A
0 = 表示空字符

1 x 2 ^0 = 1
1 x 2 ^1 = 2
1 x 2 ^2 = 4

1 2 4 8 16 32 64 128 256 512 1024


运算符
1.算数运算符
+ - * \ %(取余)
2.赋值运算符
+= -= *= = =
3.逻辑运算符
& | ! ^ && ||

& &&: 一假即假 -> 只要出现一个结果是false那就是false
| ||: 一真即真 -> 只要出现一个结果是.true那么就是true

&& 表示短路操作:
	一旦出现结果,就不再继续执行下去

4.比较运算符
>= <= == != > <
结果返回的是: boolean类型(要么是ture要么是false)
5.位运算符 -> 二进制的计算有关
&: 0 和 1 &上,全是0
|: 0 和 1 |上,全是1
^: 相同为0,不同为1

6.位移运算符 -> 二进制的计算有关
<< >> >>>
>>: 补符号位,符号位是正则补0,符号位是负则补1
>>>: 永远只补0,所以得到的永远都是正数,并且是一个正大数

7.三目(三元)运算符
boolean类型表达式[结果返回ture或false] ? 值1 : 值2
结果返回ture,则得到结果 值1
结果返回false,则得到结果 值2

作用:做比较判断
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值