1.关键字:被Java语言赋予特定含义的单词,组成关键字的字母全部是小写
注意:goto 和 const 作为保留字存在,目前不能使用
2. 标识符:用来给类,接口,方法,变量等命名时使用的字符序列
组成规则:英文大小写字母
数字字符
$和_
注意事项:不能以数字开头
不能是Java中的关键字
区分大小写
3.命名规则:
包:全部小写
单级包(单个文件夹) 例如:liwujie
多级包(文件夹里面嵌套文件夹) 例如:cn.student 表示cn 包下包含了一个student包
类或者接口:
一个单词:单词的首字母必须大写 例如:Student
多个单词:每个单词的首字母必须大写 例如:HelloWorld
方法或者变量:
一个单词:单词的首字母小写 例如:main ,age
多个单词:从第二个单词开始,每个单词的首字母大写 例如:studentAge , showAllNames
常量:
一个单词:全部大写 例如:PI
多个单词:每个字母都大写,用_隔开 例如:INTENT_BASE_ADDRESS
4.注释
单行注释: //注释文字
多行注释:/ *注释文字*/
文档注释:/**注释文字**/
5.常量
1.字面值常量
字符串常量:用双引号括起来的内容 例如“12333”
整数常量:所有整数 例如:113
小数常量:所有小数 例如:12.23
字符常量:用单引号括起来的内容 例如:‘a'
布尔常量:只有true和false
空常量: null
2.自定义常量
6. 进制:是一种进位的方式,x进制,表示逢x进1
字节:数据单位 用byte表示
1byte=8bit
1K=1024byte
1M=1024K
1G=1024M
1T=1024G
二进制:由0和1组成。 以0b开头
八进制:由0,1,...7组成。 以0开头
十进制:由0,1,...9组成。整数默认是十进制
十六进制:由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头
7.进制间转换
其他进制转换成十进制:位权展开法
十进制转换成其他进制:除基取余,直到商为0,余数反转。
进制间快速互相转换
8. 原码 反码 补码
原码 :二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
9.变量 :在程序执行的过程中,在某个范围内其值可以发生改变的量
格式: 数据类型 变量名 = 初始化值;
byte 一个字节 8位
short 二个字节 16位
int(整数默认) 四个字节 32位
long 八个字节 64位 后缀为L和l
float 四个字节 32位 后缀为F和f
double(浮点数默认) 八个字节 64位
char 二个字节
boolean 没有明确规定,一般默认是一个字节
补充:
float类型数字在计算机中用4个字节存储。遵循IEEE-754格式标准: 一个浮点数有2部分组成:底数m和指数e。
底数部分 使用二进制数来表示此浮点数的实际值
指数部分 占用8bit的二进制数,可表示数值范围为0-255
但是指数可正可负,所以,IEEE规定,此处算出的次方必须减去127才是真正的指数所以,float类型的指数可从-126到128。
底数部分实际是占用24bit的一个值,但是最高位始终为1,所以,最高位省去不存储,在存储中占23bit 。
10.使用变量时要注意的问题
1作用域
变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。
2初始化值
在使用前初始化值即可
3 在一行上建议只定义一个变量
4.默认转换(从小到大的转换)
byte,short,char—int—long—float—double
byte,short,char相互之间补转换,他们参与运算首先转换为int类型
eg: byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句编译失败?为什么?
b=b1+b2 编译失败。b1,b2是变量,参与运算时会有一个默认转换,会从double类型转换成int类型,而b是 double 类型,可能会出现损失精度的情况,而3和4是常量,常量之间进行运算是先把结果计算出来。计算出来 的结果在 byte范围内,因此不会报错。
eg; byte b = 130;有没有问题?若想让赋值正确,应该怎么做?结果是多少?
byte的范围是-128 到127,所以有问题。可以强制类型转换byte b =(byte ) 130,结果是-126。
11.字符数据参与运算
常用字符与ASCII代码对照表
为了便于查询,以下列出ASCII码表:第128~255号为扩展字符(不常用) | |||||||
ASCII码 | 键盘 | ASCII 码 | 键盘 | ASCII 码 | 键盘 | ASCII 码 | 键盘 |
27 | ESC | 32 | SPACE | 33 | ! | 34 | " |
35 | # | 36 | $ | 37 | % | 38 | & |
39 | ' | 40 | ( | 41 | ) | 42 | * |
43 | + | 44 | ' | 45 | - | 46 | . |
47 | / | 48 | 0 | 49 | 1 | 50 | 2 |
51 | 3 | 52 | 4 | 53 | 5 | 54 | 6 |
55 | 7 | 56 | 8 | 57 | 9 | 58 | : |
59 | ; | 60 | < | 61 | = | 62 | > |
63 | ? | 64 | @ | 65 | A | 66 | B |
67 | C | 68 | D | 69 | E | 70 | F |
71 | G | 72 | H | 73 | I | 74 | J |
75 | K | 76 | L | 77 | M | 78 | N |
79 | O | 80 | P | 81 | Q | 82 | R |
83 | S | 84 | T | 85 | U | 86 | V |
87 | W | 88 | X | 89 | Y | 90 | Z |
91 | [ | 92 | \ | 93 | ] | 94 | ^ |
95 | _ | 96 | ` | 97 | a | 98 | b |
99 | c | 100 | d | 101 | e | 102 | f |
103 | g | 104 | h | 105 | i | 106 | j |
107 | k | 108 | l | 109 | m | 110 | n |
111 | o | 112 | p | 113 | q | 114 | r |
115 | s | 116 | t | 117 | u | 118 | v |
119 | w | 120 | x | 121 | y | 122 | z |
123 | { | 124 | | | 125 | } | 126 | ~ |
应用例子
补充:
一个字符等于一个字节 。一个汉字是两个字节,也就是等于两个字符。
ASCII码:一个英文字母(不分大小写)占一个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值-128,最大值127。如一个ASCII码就是一个字节。
UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节。
Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点占两个字节。由于Java采用 Unicode编码,故Java 语言中的字符char(占用两个字节)可以存储一个中文汉字。
在计算机中,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称字。字通常分为若干个字节(每个字节一般是8位)。在存储器中,通常每个单元存储一个字,因此每个字都是可以寻址的。字的长度用位数来表示。