开源地址
开源项目地址:https://github.com/371854496/...
java学习资料:https://github.com/371854496/...
各位觉得还阔以的话,点下Star,分享不易,thank you!
标识符
标识符就是用于给 Java 程序中变量、类、方法等命名的符号。
规则:
①可以由字母,数字,下划线(_),美元符($)组成,但不能包含@,%,空格等其他特殊字符,不能以数字开头。
②不能是java关键字
③是区分大小写的
例如:下面的标识符是合法的:
myName,My_name,Points,$points,_sys_ta,OK,_23b,_3_,Myvoid
下面的标识符是非法的:
25name,class,&time,if
变量:
使用小驼峰命名法
常量:
使用纯大写的方式每个单词之间使用下划线链接
MAX_VALUE
方法:
使用小驼峰命名法
类,接口,抽象类,枚举:
使用大驼峰命名法
包:
使用公司域名反写的方式
如:com.ujiuye.www
常见关键字
关键字 | 含义 | |
---|---|---|
abstract | 表明类或者成员方法具有抽象属性 | |
assert | 断言,用来进行程序调试 | |
boolean | 基本数据类型之一,布尔类型 | |
break | 提前跳出一个块 |
|
byte | 基本数据类型之一,字节类型 |
|
case | 用在switch语句之中,表示其中的一个分支 |
|
catch | 用在异常处理中,用来捕捉异常 |
|
char | 基本数据类型之一,字符类型 |
|
class | 声明一个类 |
|
const | 保留关键字,没有具体含义 |
|
continue | 回到一个块的开始处 |
|
default | 默认,例如,用在switch语句中,表明一个默认的分支 |
|
do | 用在do-while循环结构中 |
|
double | 基本数据类型之一,双精度浮点数类型 |
|
else | 用在条件语句中,表明当条件不成立时的分支 |
|
enum | 枚举 |
|
extends | 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口 |
|
final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量 |
|
finally | 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 |
|
float | 基本数据类型之一,单精度浮点数类型 |
|
for | 一种循环结构的引导词 |
|
goto | 保留关键字,没有具体含义 |
|
if | 条件语句的引导词 |
|
implements | 表明一个类实现了给定的接口 |
|
import | 表明要访问指定的类或包 |
|
instanceof | 用来测试一个对象是否是指定类型的实例对象 |
|
int | 基本数据类型之一,整数类型 |
|
interface | 接口 |
|
long | 基本数据类型之一,长整数类型 |
|
native | 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
|
new | 用来创建新实例对象 |
|
package | 包 |
|
private | 一种访问控制方式:私用模式 |
|
protected | 一种访问控制方式:保护模式 |
|
public | 一种访问控制方式:共用模式 |
|
return | 从成员方法中返回数据 |
|
short | 基本数据类型之一,短整数类型 |
|
static | 表明具有静态属性 |
|
strictfp | 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范 [1] |
|
super | 表明当前对象的父类型的引用或者父类型的构造方法 |
|
switch | 分支语句结构的引导词 |
|
synchronized | 表明一段代码需要同步执行 |
|
this | 指向当前实例对象的引用 |
|
throw | 抛出一个异常 |
|
throws | 声明在当前定义的成员方法中所有需要抛出的异常 |
|
transient | 声明不用序列化的成员域 |
|
try | 尝试一个可能抛出异常的程序块 |
|
void | 声明当前成员方法没有返回值 |
|
volatile | 表明两个或者多个变量必须同步地发生变化 |
|
while | 用在循环结构中 |
关键字的特点
1.全部都是小写的
2.自己给自己定义东西起名字的时候,不能和关键字重名
3.其中有两个关键字是保留关键字, goto和const,当前java版本中还没有使用,不代表以后不会被使用.
修饰符
Java 使用了一定数量的称为修饰符的关键字,这些修饰符指定了数据、方法和类的属性以及它们的使用方法。
例如 public 和 static 都是修饰符,另外还有 private、final、abstract 和 protected。
一个 public 数据、方法或者类可以被其他的类访问,而一个 private 数据或方法不能被其他类访问。
注释
在 Java 中,一行注释以双斜杠(//)标识;
多行注释包含在“/”和“/”之间;
文档注释包含在“/*”和“/”之间。
常量
//声明常量
final int COUNT=10;
final float HEIGHT=10.2f;
变量
//声明变量
// 数据类型 变量名 = 初始值;
int age = 18;
使用变量的注意事项
1.变量是有作用域的
作用于: 起作用的范围
范围:从他定义的哪一行起,到出他所在大括号.
变量定义之前不能使用.出了他所在的大括号就不能访问了.
2.在同一个大括号(同一个作用域)中不能定义同名的变量.
3.使用变量的时候必须先给初始值,才能使用.
4.变量的定义和变量初始化可以分开写.
5.可以在同一行一次定义多个变量
数据类型 变量名1 =初始值1, 变量名2 = 初始值2,….;
这种情况只适合一次定义多个同类型的变量;
代码示例
class test_变量使用注意事项 {
public static void main(String[] args) {
// System.out.println(a);
int a = 10;
// float a = 3.14f; 变量重名
{
System.out.println(a);
// double a = 14.0; 变量重名
}
int num;
num = 1;
System.out.println(num);
int age = 18, age2 = 20, age3 = 40;
// int age = 18, age2 = 20, age3 = 40.5; 数据类型必须一致
System.out.println(age);
System.out.println(age2);
System.out.println(age3);
System.out.println(age +" "+age2 + " "+age3);
}
public static void sayHi(){
//System.out.println(a);
}
}
数据类型
1.java是一种强类型语言,(定义变量的时候必须给改变执行数据类型),数据类型就是为了执行内存空间大小的额.
2.基本数据类型:
数值型:四类八种
整数类型:
- byte 比特 1个字节 数据范围 -128~127 -2^7 ~ 2^7-1
- short 短整型 2个字节 -2^15 ~ 2^15-1
- int 整型 4个字节 -2^31 ~ 2^31-1
- long 长整型 8个字节 -2^63 ~ 2^63-1
浮点类型:
- float 单精度浮点型 4个字节 > long类型存储范围
- double 双精度浮点型 8个字节 > float类型存储范围
字符类型:
- char 字符类型 2个字节 0~65535
布尔类型:
- boolean 未知 true和false
引用数据类型:
类 接口 数组 枚举 标注
数据类型转换
自动类型转换:
取值范围小的类型的数据,往取值范围大的类型的变量中放,可以直接放进去,不会损失精度;
如:byte-->short-->int-->long-->float-->double;
char-->int;
强制类型转换:
将取值范围大的类型的数据,往取值范围小的类型变量中放,有可能放不进去,会出现精神读损失;
语法:
小的范围的数据类型 新的变量名 = (小的范围的数据类型) 旧的大范围的变量名
如
int a = 128;
byte b = (byte)a;
运算符
1.概念: 用户运算和操作数据符号就是运算符
2.运算符的分类
- 算数运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 三元运算符
算数运算符
1.用来进行算数运算的符号
2.+, -, *(乘), /(除号), %(取余运算符)
-
+:加法运算
- -:减法运算
- *:乘法运算
- /:除法运算
- %:取余运算
3./ 如果运算符两边都是整数,得到结果只保留整数部分.
/ 如果两边有一边是小数,得到的结果就是小数
%: 取余运算符(取模运算符),两边可以是小数也可以整数
赋值运算符
1.作用: 把赋值运算符号右边的数据赋值给左边
2.基本赋值运算符 =
3.复合赋值运算符 +=, -=, *=, /=, %=
int a = 10;
a += 1; // a = a+1;
System.out.println(a); // 11
自增和自减运算符
1.++ 和 –-
2.++: 变量每次自增1
3.--: 变量每次自减1
4.注意事项:
++:如果在变量前,先对变量进行+1, 再使用这个变量
++:如果在变量的后面,先使用变量中的值,再对变量+1;
无论++在变量前面还是后面,执行之后变量都会+1;
--:如果在变量前,先对变量进行-1, 再使用这个变量
--:如果在变量的后面,先使用变量中的值,再对变量-1;
无论--在变量前面还是后面,执行之后变量都会-1;
口诀:
++在前,先加后用,++在后,先用后加
--在前,先减后用,--在后,先用后减
int q = 5, n = 10;
// s 5 - 10 + 6 + 10 = 11
// q 6 6 7 7
// n 10 9 9 10
int s= (q++) - (n--) + (q++) + (++n);
比较运算符
1.用于比较两个数据的关系,比较大小,比较是否相等,比较运算符的运行结果是boolean类型,
只有true和 false两个结果
2.分类: >, <, >=, <= 比较数值大小
==:判断连个数据是否相等
!=:判断两个数据是否不相等
逻辑运算符
1.用来判断逻辑是否成立的运算符, 如果逻辑成立,返回true, 如果不成立,返回false, 返回的数据类型是boolean类型
逻辑运算符两边必须是返回真或假的表达式
2.逻辑运算符的分类
- &&:与运算符 两边同时为真则为真,有一边为假则为假
true && true true
true && false false
false && true false
false && false false
- ||:或运算符 两边同时为假则为假,有一边为真则为真
true || true true
true || false true
false || true true
false || false false
- !: 逻辑非 非真即假,非假即真
!true false
!false true
- ^:逻辑异或 两边数据相同,返回假,不同返回真
true ^ true false
true ^ false true
false ^ true true
false ^ false false
小技巧:
1.为了提高执行效率,习惯把容易为假的条件放到&&运算符的前面. 只要前面为假,后面就不参与运算.
2.为了提供效率,把容易为真条件放在||运算符的前面,只要前面为真后面的表达式就不参与运算.
位运算符
1.对于数据进行内存中运算,让数据往左或者是往移位.
左移1位,数据整体扩大2倍,
右移1位,数据整体缩小2倍;
2.位运算符分类:
<< 数字 :左移运算符, 数字是几,代表要往左移动几位
,就相当于往左移动几位,就相当于乘以2的几次方
‘>>’ 数字: 右移运算符, 数字是几,代表要往右移动几位, 就相当于往右移动几位,就相当于除以2的几次方
‘>>>’ 数字 : 无符号右移运算符, 只能操作正数. 数字是几,代表要往右移动几位, 就相当于往右移动几位,就相当于除以2的几次方
代码示例:
int a = 8;
System.out.println(a << 2); //32
int b = -16;
System.out.println(b >> 1); //-8
int c = -16;
System.out.println(c >>> 1);//2147483640
三元运算符
1.元:表示操作数据的个数或者操作的表达式的个数
2.三运算符:能操作三个数据或者三个表达式
3.格式: 表达式1 ? 表达式2 : 表达式3;
4.说明
表达式1:必须是返回真或假的表达式,返回boolean数据类型
表达式2和表达式3返回任意数据类型都行
5.执行原理:
1.表达式1为真, 把冒号前表达式2的结果,当做整个三元运算符的返回的结果
2.表达式1为假, 把冒号后表达式3的结果,当做整个三元运算符的返回的结果
公众号 全战开花
获取更多技术干货