Java基础二
Posted 不才一首歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础二相关的知识,希望对你有一定的参考价值。
1、什么是标识符
2、标识符的命名规范
3、掌握关键字和保留字
4、掌握变量
5、掌握八种基本数据类型
6、掌握运算符
一、标识符
标识符是Java对包、类、方法、参数、变量等要素命名时使用的字符序列
规则:
1、由字母(包含中、英、日、俄等)、数字、下划线‘_’和美元符号\'$\'组成。
2、不能以数字开头 eg:int 123a = 1;
3、区分大小写:int a = 1和int A=1是不一样的。
4、长度无限制。(一般编程长度不超过15个字符)
5、 不能是Java中的保留字和关键字 :int class = 1 可以包含保留字和关键字 : int aint=1 .
标识符命名习惯:
1、见名知意。
2、驼峰式命名:
类名:单词首字母大写,多个单词组成的标识符,每个单词的首字母都大些
eg:StudentScore 不要用拼音用英文
变量名、方法名、参数名:首字母小写,剩下的每一个单词的第一个字母大写。
eg:studentScore
二、数据类型
二进制:0-1,512 256 128 64 32 16 8 4 2 1
八进制:0-7, 49 7 1
十进制:0-9,
十六进制:0-9ABCDEF.
二进制转八进制:1010 1010 -> 取三合一 212
https://jingyan.baidu.com/article/39810a23e3779db636fda6c5.html
二进制转十进制:1010 1010 -> 由右向左0开始,基数*基数的权次幂,相加即可。
https://jingyan.baidu.com/article/597a0643614568312b5243c0.html
二进制转十六进制:1010 1010 -> 取四合一 AA
https://jingyan.baidu.com/article/47a29f24292608c0142399cb.html
八进制转二进制:123 -> 一分三 一个八进制数分成三个二进制数,用三位二进制按权相加
八进制转十进制、八进制转十六进制、十进制转二进制等百度就可以:
https://jingyan.baidu.com/article/495ba84109665338b30ede98.html
三、源码、反码、补码
原码:就是二进制表示数字的方式,最高位是符号位,其余各位表示数值大小
第一位是“0”代表正数
第一位是“1”代表负数
反码:
正数的反码与原码相同;负数的反码是符号位不变,其余位取反。
补码:
正数的补码与原码相同;负数的补码是反码+1
为啥?补码是这样的设计?
为了让表达的负数和它的相反数相加正好溢出得0,于是设计的补码。
补码->原码(-1取反)(取反+1?)
四、八种数据类型
1、基本数据类型
布尔型--boolean
字符型--char
整数型--byte,short,int,long
浮点型--float,double
2、Java希望程序员合理的使用内存,于是设计不同的数据类型,当你只想表达一个比较小的数,那么你就申请一个占用空间小的类型,反之,大的类型。
3、整数型
Int 如int a=3;
Long 如long a=3L;
Int类型能表达的最大值是21亿多
基本数据类型的范围:
1、long 64位 范围,很大
2、int 32位 范围21亿,-21亿
01111111 11111111 11111111 11111111
3、short 16位 -32768,32767
4、byte 8位 -128,127
5、char 16位 \\uffff 0-65535
6、float(单精度浮点型)32 -3.4E38,3.4E38
7、double(双精度浮点型)64 -1.7E308,1.7E308
8、Boolean 使用引用常量,true/false
五、数据类型转换
1、boolean类型不能转换成任何其他基本数据类型。
2、自动类型转换:数据类型取值范围小的转为大的。
3、强制类型转换:数据类型取值范围大的转为取值范围小的。需要强制转换符。(xxxx要转换的数据类型)
六、常量与变量
常量:‘不变化的量’
123 数字
Int a=123;
a=124;
True false 布尔值
“Hello World”这个是字符串常量,在常量池中,1.7以及以前位于方法区,1.7之后它在堆内存。
3.14
3.14f
‘a’ 字符串
char类型
变量:保存程序执行中的数据,比如int a=1;a就是变量。
Java 常量,有2种意思,我分别说明:
第1种意思,就是一个值,这个值本身,我们可以叫它常量,举几个例子:
整型常量: 123
实型常量:3.14
字符常量: \'a\'
逻辑常量:true、false
字符串常量:"helloworld"
这只是说法的问题,比如7这个数,我们就可以说“一个int类型的常量7 ”
-------
还有另一种,就是楼主问的这种:
第2种意思,表示不可变的变量,这种也叫常量,从语法上来讲也就是,加上final,使用final关键字来修饰某个变量,然后只要赋值之后,就不能改变了,就不能再次被赋值了,据个例子:
final int i = 0;
那么这个i的值是绝对不能再被更改了,只能是0,所以说是 不可变的变量,这句话看似矛盾,其实不矛盾,这句话这样理解:
i就是一个int类型的变量,变量本身是可变的(可被更改值),但是现在加了final,所以不可变了,所以是不可变的变量。
七、运算符
1、算数运算符:+、-、*、/、%、++、--
Int a=1;
Int b=2;
Int c=a+b;
当使用/或者%的时候,第二个数不能为0.
当数全是整型的时候,会发生除不尽的情况,多余的直接被丢弃。
1.0*3/2=1
2、赋值运算符
=
int i;
i=1;
+=、-=、/=、*=、%=
i+=1; i=i+1;
3、关系运算符
< > <= >= == !=
4、逻辑运算符
boolean b1=true;
boolean b2=true;
boolean b3=true;
总结起来b1为真并且b2以为真并且b3也为真。
&&都为真结果为真,有假就假
||都为假结果为假,有真就真
5、字符串连接符
+
当+的时候,左右连接字符串的时候,我们使用+,是连接的意思。
“123”+“456”
6、三目运算符
X?Y:Z
7、使用()小括号优先处理局部。
1+2*3+4
以上是关于Java基础二的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向加壳技术简介 ( 动态加载 | 第一代加壳技术 - DEX 整体加固 | 第二代加壳技术 - 函数抽取 | 第三代加壳技术 - VMP / Dex2C | 动态库加壳技术 )