Java 基础
文章目录
前言
jdk、jvm查考前面文章
一、关键字和保留字
1.关键字
定义:被Java 语言赋予了特殊含义,用做专门用途的字符串(单词)
特点: 关键字中所有字母都为小写
用途 | 字符串 |
---|---|
用于定义数据类型的关键字 | class、interface、 enum 、byte 、short、 int 、long、 float、 double、 char、boolean、 void |
用于定义流程控制的关键字 | if 、else 、switch、 case、 default、while 、do、 for 、break、 continue、return |
用于定义访问权限修饰符的关键字 | private、 protected、 public |
用于定义类,函数,变量修饰符的关键字 | abstract 、final 、static 、synchronized |
用于定义类与类之间关系的关键字 | implements、extends |
用于定义建立实例及引用实例,判断实例的关键字 | new 、this、 super、 instanceof |
用于异常处理的关键字 | try 、catch 、finally、 throw、 throws |
用于定义数据类型值的字面值 | true、 false、 null |
2.保留字
Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使
用。自己命名标识符时要避免使用这些保留字goto 、const
二、标识符
标识符 :是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。
1.定义合法标识符规则:
- 标识符就是名称的意思,所有的名字都统称为标识符
- Java 中经常要定义类、方法、变量等,在定义的时候需要给它们取名字,这些名字就是标识符
- 只有字母(区分大小写),下划线 ( _ ),美元符号 ( $ ) 和数字组成,长度不受限制
- 第一个字母不能是数字,不能用数字开头
- 不能是关键字
- 不能是 true 、 false 、 null (尽管三个都不是关键字,而是 常量标识)
2.Java中的名称命名规范:
- 包名:多单词组成时所有字母都小写:xxxyyyzzz
- 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
- 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
- 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
注意:见名知意 驼峰命名法 尽量不要用拼音
a. 驼峰命名法: 小驼峰 一般用于变量名,方法名 首字母小写,之后的每一个单词首字母大写 getStudentAge setStudentAge
studentScore studentGender 大驼峰 一般用于类名,接口名 所有单词首字母大写 FirstJava Demo1 Person UserService
StudentDao
b. 下划线命名法: 一般用于Java中的常量 MAX_VALUE 最大值 DEFAULT_CAPACITY 默认容量
三、变量
1.变量概述
变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。
Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。
语法:
变量包括三个要素: 数据类型 、 变量名 、 数据值 。
数据类型 变量名 = 数据值;
示例:
1 package com.dreamgf.part1;
2 /*
3
4 java的数据类型:
5
6 变量的语法格式:
7 数据类型 变量名 = 赋值;
8
9 */
10 public class Demo1 {
11 public static void main(String[] args) {
12
13 byte b1 = 123;//赋值就是存数据
14 short s1 = 200;
15 int i1 = 300; //默认int;
16 long l1 = 1000L;//long类型后面要写上大写的L或者小写的l
17
18 //访问变量就是取数据
19 System.out.println("b1:"+b1);//+是表示字符串的拼接
20 System.out.println("s1:"+s1);
21 System.out.println("i1:"+i1);
22 System.out.println("l1:"+l1);
23
24 b1 = 120;
25
26
27 System.out.println("-------------------------");
28 float f1 =3.14f;//用小写的f或者大写的F标识这是float类型
29 double d1 = 3.149;//小数的类型默认为double
30
31 System.out.println("f1:"+f1);
32 System.out.println("d1:"+d1);
33
34
35 System.out.println("-------------------------");
36 boolean bb1 = true;
37 boolean bb2 =false;
38 System.out.println("bb1:"+bb1);
39 System.out.println("bb2:"+bb2);
40
41
42 System.out.println("-------------------------");
43
44 char c1 = 'A';
45 char c2 = '中';
46 System.out.println("c1:"+c1);
47 System.out.println("c2:"+c2);
48}
49}
2.字节
字节是我们常见的计算机中最小存储单元,计算机存储任何的数据,都是以字节的形式存储。
8个bit(二进制位) 0000-0000表示为1个字节,写成1 byte或者1 B。
1 8 bit = 1 B
2 1024 B =1 KB
3 1024 KB =1 MB
4 1024 MB =1 GB
5 1024 GB = 1 TB
3.Java基本数据类型
*Java语言中数据类型:2大类
基本数据类型
引用数据类型
基本数据类型:4类8种
布尔类型:boolean,数值只有2个:true,false
字符类型:char,2个字节(16位)
整数类型:
byte,字节。1字节(8bit),
short,短整型。2字节(16bit),
int,整型。(默认类型)。4字节(32bit)
long,长整型。加L或l。8个字节(64bit)
浮点类型:
float,单精度。加f或F。4个字节(32bit)
double,双精度。(默认类型)。8个字节(64bit)
基本数据类型是 Java 语言中内置的类型。整数类型、小数类型、字符类型、布尔类型 这四类是最基础的类型
4.运算符
i++和++i
变量在独立运算时, 前 ++ 和 后 ++ 没有区别 。
和其他变量放在一起, 前 ++ 和 后 ++ 就产生了不同。
- i++,给i加1,但是i++的值是i本身。(先计算,后加1)
- ++i,给i加1,但是++i的值是i+1了。(先加1,后计算)
示例:
public static void main(String[] args) {
8
9 int i = 10;
10 int j =3;
11
12 int div =10/3;
13 int mod = 10%3;
14 System.out.println("div:"+div);
15 System.out.println("mod:"+mod);
16
17
18 int a = 10;
19 System.out.println("a:"+a);
20 a++;
21 System.out.println("a:"+a);//?
22 a--;
23 System.out.println("a:"+a);//?
24
25
26 int b = 3;
27 ++b;
28 System.out.println("b:"+b);
29 --b;
30 System.out.println("b:"+b);
31
32 System.out.println("----------------------------");
33
34
35 int c =3;
36 int d =3;
37 System.out.println(c++);
38 System.out.println(++d);
39
40
41 int x = 3;
42 int y = 10;
43 int result1 = ++x + y++;
44 System.out.println("x:"+x);
45 System.out.println("y:"+y);
46 System.out.println("result1:"+result1);
47
48 x= 3;
49 y = 4;
50 int res1 = (x++)*(--y)-(++x)/(--y);
51
52 System.out.println("x:"+x);
53 System.out.println("y:"+y);
54 System.out.println("res1:"+res1);
55 }
逻辑运算符(重点)
操作数是boolean类型,结果也是boolean类型
&:与操作
规则:操作数都是true,结果才是true,有一个是false就为false。
一假则假,全真才真
|:或操作
规则:操作数都是false,结果才是false,有一个是true,就是true
一真则真,全假才假
^:异或:异表示不同
规则:两个操作数,相同为假,不同为真。
!:取非,取反
规则:!T–>F, !F–>T
&&:短路与
规则:遇到一个false就直接返回结果为false,后面的不再参加计算了。
||:短路或
规则:遇到一个true就直接返回结果为true,后面不再计算了
示例:
/**
4 * 逻辑运算符:操作的是布尔值之间的运算
5 */
6 public class Demo3_logic {
7 public static void main(String[] args) {
8 boolean b1 = true;
9 boolean b2 = false;
10 boolean b3 = true;
11
12 boolean b4 = false;
13 boolean result1 = b1 & b2 & b3;//逻辑与运算,只有有一个false,那么就返回false
14 System.out.println(result1);
15
16
17 boolean result2 = b1 | b2; //逻辑或运算 ,只有一个true ,就返回true;
18 boolean result3 = b2 | b4; //两个都是false,才返回false;
19 System.out.println(result2);
20
21 System.out.println(result3);
22 boolean result6 = b1 ^ b2;
23 System.out.println(result6);
24
25 boolean result7 = !(b1 & b2 & b3);
26 System.out.println("result7:"+result7);
27 int a =3;
28 int b =4;
29
30 // boolean result4= (a++<3)&&(b++>4);//短路&&,遇到一个false,就返回false,后面的不再执行
31 // System.out.println("a:"+a);
32 // System.out.println("b:"+b);
33
34
35 boolean result5= (a++>2)||(b++>4);//短路||,遇到一个true,就返回true,后面的不再执行
36 System.out.println("a:"+a);
37 System.out.println("b:"+b);
38 }
5.程序流程控制
选择结构
程序的流程结构:顺序结构,选择结构,循环结构
通过分支语句实现:if,switch
条件运算符
语法结构:
X ? Y : Z
X必须是boolean类型的表达式:True,False
X的值为true–>取Y的值
X的值为false–>取Z的值
示例:
/**
4 * 三元运算符
5 */
6 public class Demo1 {
7 public static void main(String[] args) {
8
int score = 55;
9 String res = score >= 65 ? "大于等于60" : "小于60";
10 System.out.println("res:" + res);
11 }
if语句
简单if语句语法:
示例:
/**
4 * if语句
5 */
6 public class Demo4 {
7 public static void main(String[] args) {
8
9 /*
10 if(布尔表达式)
11 {
12 // 如果布尔表达式为 true 将执行的语句
13 }
14 */
15
16 // int a = 88;
17 //
18 // if(a>0){
19 // System.out.println("88大于0");
20 // }
21 //
22 // System.out.println(".....over.....");
23
24 }
switch语句
可以实现选择结构
1 switch( 变量 ){
2 case 常量值1:
3 分支1;
4 break;
5 case 常量值2:
6 分支2;
7 break;
8 ...
9 default:
10 }
注意事项:
1.作用在int类型,byte,short,int,char,String,枚举
2.case后的数值必须唯一
3.case可以无序
4.break用于防止switch的穿透
5.default是可选的语句。