JavaSE基础语法
IDE(Intergrated Development Environment)集成开发环境,是用来提供程序开发环境的应用程序,一般包括代码编辑器,编译器,调试器和图形用户界面等工具
常见的Java开发工具有
Intellij IDEA
Eclipse
注释
注释是对程序功能的说明,以某种特定的符号作为标记,在程序运行的过程中不会被执行.
Java程序语言有三种注释:
单行注释: // 注释内容
多行注释:/* 注释内容 */
文档注释: /**
*文档内容
*/
关键字
定义:关键字是被java语言赋予特殊含义,用来做专门用途的字符串(单词)
特点:关键字中的所有字母为小写
用于定义数据类型的关键字
class | interface | enum | byte | short |
---|---|---|---|---|
int | long | float | double | char |
boolean | void |
用于定义数据类型的关键字
true | false | null |
---|---|---|
用于定义流程控制的关键字
if | else | switch | case | default |
---|---|---|---|---|
while | do | for | break | continue |
return |
保留字
Java现版本没有使用,但后续可能会使用的关键字
标识符 (见名知意)
Java对各种变量,方法,类进行命名时使用的字符序列称为标识符.
规则: 1.只能使用数字,字母,下划线,和$符号命名
2.不能使用数字开头
3.不可使用关键字和保留字
4.不可包含空格
5.严格区分大小写
Java变量
变量时程序中的最基本的储存单元,在程序中时数值可变的.
本质是是内存里的一块区域,使用时访问内存上的区域来访问,所以在使用时要先声明,再赋值后才可使用.
声明规则为 :
[修饰符] type varName [=value][,varName[=value]……];
Java数据类型
按数据类型可分为:基本数据类型和引用数据类型
基本数据类型:8种:int float double byte short char boolean long
引用数据类型:除了基本数据类型外的全部类型
类 型 | 占用存储空间 | 表数范围 |
---|---|---|
byte | 1字节 | -128 ~ 127 |
short | 2字节 | -215 ~ 215-1 |
int | 4字节 | -231 ~ 231-1 |
long | 8字节 | -263 ~ 263-1 |
整数表示方法:
有四种表示形式:二进制:0,1以0b或者0B开头. int a = 0b 1001 (二进制)
十进制:满十进一 int a = 10 (十进制)
八进制:0-7,以数字0开头 int a = 010 (八进制)
十六进制:0-9,A-F,以0x或0X开头表示. int a = 0x10fa (十六进制)
字符型:
char char型数据类型用来表示通常意义上的"字符",char栈2个字节,字符常用单引号引用整个字符, 例:
char a1 = 'a';
char a2 = '中';
char运算:char可以运算因为char在字符编码表中对应的有相应的数值.
在java中,对于char类型的字符在运算时,直接当作对应的编码表的整数对待.
char c = 'a' + 1
//先将char转化为int型字符,计算结果为98,对应字符是 b
编码:
**ASCII码:**在计算机内部,所有数据都是用二进制表示,每一个二进制都有0和1两周状态,因此 8 个二进制就可以组合出256种状态,被称为一个字节.从00000000到11111111.
ASCII(ASCII American Standard Code for Information Interchange,美国信息互换标准代码).上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码。(缺点:不能表示所有字符).
Unicode编码:之前所有的符号都纳入其中.每一个符号都给予一个独一无二的编码,Unicode没有乱码问题.java采用Unicode编码规范,其中完全包含ASCII编码
UTF-8:针对Unicode的一种可变长度的字符编码,使用1-6个字节表示一个字符,中文3个字节,英文1个字节.
数据类型转换
小转大直接转换:
int a = 128;
double a1 = a;
float a2 = (float)a1;//强制转化
大化小需要强制转换,可能发生精度降低或溢出:
int a = 258;
byte a1 = (byte) a;
System.out.print(a);//258
System.out.print(a1);// 2
运算符
常见的运算符:
+ : 加法,正数,字符串连接.
- : 减法,负数,
* : 乘法
/ : 除法
% :取余
++:自增
--:自减
++运算在变量前时,先自增,在运算,++运算在变量后,先运算,再自增,–类似;
int x=6,y;
y = x++ +1+ ++x -1;//6+1+8-1=14
System.out.println(y);//14
int z;
z = --y + ++y - --y +y + y++ -y +1;//13+14-13+13+13-14+1=27
System.out.println(z);//27
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
+ | 正号 | +3 | 3 |
- | 负号 | b=4; -b | -4 |
+ | 加 | 5+5 | 10 |
- | 减 | 6-4 | 2 |
***** | 乘 | 3*4 | 12 |
/ | 除 | 5/5 | 1 |
% | 取模 | 7%5 | 2 |
++ | 自增(前):先运算后取值自增(后):先取值后运算 | a=2;b=++a;a=2;b=a++; | a=3;b=3a=3;b=2 |
- - | 自减(前):先运算后取值自减(后):先取值后运算 | a=2;b=- -aa=2;b=a- - | a=1;b=1a=1;b=2 |
+ | 字符串相加 | “He”+”llo” | “Hello” |
比较运算符:
运算符 | 运算 范例 结果 |
---|---|
== | 相等于 4==3 false |
!= | 不等于 4!=3 true |
< | 小于 4<3 alse |
> | 大于 4>3 true |
<= | 小于等于 4<=3 false |
>= | 大于等于 4>=3 true |
instanceof | 检查是否是类的对象 |
比较运算符的结果都是boolean型,也就是true,或者false
逻辑运算符:
a | b | a&b | a|b | !a | a^b | a&&b | a||b |
---|---|---|---|---|---|---|---|
true | true | true | true | false | false | true | true |
true | false | false | true | false | true | false | true |
false | true | false | true | true | true | false | true |
false | false | false | false | true | false | false | false |
& 逻辑与 | 逻辑或 !逻辑非
&& 短路与 || 短路或 ^逻辑异或
(短路就是当逻辑值被判断出来后,终端当前运算,不进行后面的运算)
位运算:
位运算 | |
---|---|
<< | 空位补0,被移除的高位丢弃,空缺位补0。 |
>> | 被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。 |
>>> | 被移位二进制最高位无论是0或者是1,空缺位都用0补。 |
& | 二进制位进行&运算,只有1&1时结果是1,否则是0; |
\ | |
^ | 相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0不相同二进制位 ^ 运算结果是1。1^0=1 , 0^1=1 |
~ | 正数取反,各二进制码按补码各位取反负数取反,各二进制码按补码各位取反 |