一.编写规范
1.标识符:
在java中一切起名字的这个名字就是标识符
2.标识符的命名规则
a.只能有字母,数字,下划线_,美元符号$任意组合而成,数字不能开头
b.严格区分大小写
c.关键字不能作为标识符使用
3.标识符的命名规范
a.见名知意
b.驼峰命名规则
包:全部小写
单级包: shangxuetang
多级包: shang.xue.tang 每个层级之间使用.分隔
类|接口: 每个单词的首字母大写 ShangXueTang
方法|变量: 第一个单词全部小写,第二个单词开始首字母大写 shangXueTang
常量: 全部大写 每个单词之间使用_进行分隔 SHANG_XUE_TANG
4.关键字:
在java中,有一些词java有自己的用法或者用途,这些词称之为关键字, 全部小写;
保留字: goto const
在java中,有一些词将来java有自己的用法或者用途,这些词称之为关键字,一般提到关键字都包括保留字,但是在某些情 况特定区分的时候需要区分;
二.常量:
1.定义: 在程序运行期间,其值不会发生改变的量叫做常量
2.分类:
字面值常量: 123 "abc" 1.23
整数常量 : 12 1214
小数常量 : 1.234
字符串常量 : "" "123abc,"
字符常量 : 'a' '1' ','
布尔常量 : true ,false
空常量 : null
自定义常量: 使用final关键字修饰的变量变成常量
三.变量:
1.变量(可变的量):
1)在程序运行期间,其值可以发生改变;
2)在内存中开辟一块空间,用来存放指定数据类型的数据;
3)变量-->用来存放单个数据
2.语法:
1)声明的同时赋值
数据类型 变量名 = 变量值;
int整数 double小数 String字符串 char字符 boolean布尔类型
2)先声明后赋值
数据类型 变量名; --声明
变量名 = 变量值; --赋值
3)在一行中可以同时声明多个变量
注意: = 是java中唯一一个自右向左运算的符号
4)关注的点;
a.数据类型
b.变量名 (标识符的命名规则|规范)
c.变量值
5) 作用域 {} 在该作用域中声明的变量名仅作用于该作用域;
6) 同一作用域中变量名不能冲突
3.使用变量时需要注意的注意事项:(1.赋值 2.输出 3.运算)
1)使用之前变量必须已经声明
2)使用之前变量必须已经赋值
3)必须在变量的作用域范围内使用
4)同一变量在同一时刻只能存储一个值
4.变量的分类:
1)成员变量|实例变量 :在类中方法外声明的变量叫做成员变量
只声明不赋值有默认值 整数0 小数0.0 boolean->false 字符串->null 字符型->' '
2)局部变量 : 方法内部|语句块的内容声明的变量叫做局部变量
public class Variable04{
//成员变量|实例变量
int a=10;
double d;
public static void main(String[] args){
//1.声明的同时赋值
int age = 18;
System.out.println(age);
//2.先声明后赋值
String name; //在内存中开辟一块存放字符串类型数据的空间
name="因为"; //往一个空间名字叫做name的位置存在一个字面常量值"因为"
System.out.println(name);
//3.同时声明多个变量
int x,y,z;
z=x=y=10;
System.out.println(x);
System.out.println(y);
System.out.println(z);
//String name="李四";
String haha;
//System.out.println(haha);
name="所以";
}
public static void test(){
String name="李四";
//System.out.println(name);
}
}
四. 数据类型
1.java强类型的语言
2.基本数据类型: 四类八种
1)计算机中最基本的存储单位就是1字节 1byte=8bit
a.整型:
表示形式 | 表示名称 | 大小 | 范围 |
byte | 字节型 | 1个字节8位 | [-128,127] |
short | 短整形 | 2个字节16位 | [-32768,32767]即 + - 3万 |
int | 整型 | 4个字节32位 | +-21亿 |
long | 长整型 | 8个字节64位 | 非常大 |
如果要给比int类型大的long类型赋值,需要数据的后面添加L/l 推荐使用L
整数的字面常量值默认int类型
b.浮点型(小数)
表示形式 | 表示名称 | 大小 | 精度 |
float | 单精度 | 4个字节 | 精确到7位左右 |
double | 双进度 | 8个字节 | 精确到16位左右 |
小数默认的字面常量值是double类型;
给double类型小的float类型赋值,需要在数据的后面添加一个f/F;
浮点类型参与运算不准确
c.字符型
表示形式 | 表示名称 | 大小 | 范围 |
char | 字符型 | 2个字节 | 0~65535 |
字符型的表示形式:
''一对单引号中存放单个数据表示字符型 'a' '好' '1' ',' ' '
0~65535之间的整数 Unicode字符集 -- > ASCII表中查看
字符型数据在参与运算的时候会转为对应的十进制的数参与运算
d.布尔型
true false 1位
3.引用数据类型: 类 接口 数组[]
4.数据类型转换
1) boolean 类型在java中不参与类型转换
2) 自动类型转换:
a.小范围类型的数据转为大范围类型的数据 小->大
b.在给byte,short,char类型赋值的时候,只要在其范围内的*常量值*就可以成功赋值
byte,short,char在参与运算的时候会自动类型提升成为int类型
c.在运算时候有存在比int类型大的数据类型,类型会提升成为大的数据类型
3)强制类型转换:
a.大范围类型的数据到小范围类型的数据,需要发生强制类型转换,损失精度
小范围数据类型 变量名 = (小范围数据类型)变量名;
4)范围由小至大排序:
byte——> short——> char——> int ——>long——> float ——>double
5.Java中的转义字符
作用:在java中有些字符有特殊的含义,没有办法正常表示,所以可以使用转义字符表示这个字符
(转义字符从\开始)
输入 | 输出/打印 |
\" | '' |
\' | ' |
\\ | \ |
\t | 1)制表符 一个制表符位代表8个空格,一个汉字占2个空格,一个英文占1个空格; 2)看前面的内容是否是制表符位的整数倍,如果是重新开启一个制表符位; 3)如果不是,与前面的数据不全一整个制表符位; |
\b | 退格 光标回删一格 |
\n | 换行 光标从这一行的行尾换到了下一行的行头 |
\r | 光标回到这一行的行首 |
五.进制
1.整型进制分类:
二进制: 由0,1组成 0b|0B 开头表示二进制
八进制: 由0,1..7组成 以0开头表示八进制
十进制 : 默认十进制
十六进制 : 由0~9,a,b,c,d,e,f组成 a~f可以是大写可以是小写 以0x|0X开头
2.十进制与其它进制之间的转换:
1)其他进制转为十进制:从后往前算,从最后一个的位置数开始*当前的进制数的次方(次方从0开始,每次+1) + 倒数第二位.. 最 后求和;
2)十进制转为其他进制 : 用十进制的数一直除以要转为的进制数,得到的余数从下往上看;
3. 浮点型
1.0.123 0->可以省略
4. 科学计数法: e->10
1.23e3 ->1.23*10^3
1.23e-3 ->1.23/10^3
六.运算符
1.运算符的分类:
算数运算符
赋值运算符
比较运算符
逻辑运算符
条件运算符
操作数:运算符左右两边的数就是操作数
表达式:运算符连接左右两边的操作数整体叫做表达式
语句:遇到;就是语句的结束
一元运算符|单目运算符: 操作数只有一个的运算符 ++ -- +正号
二元运算符|双目运算符: 操作数有两个的运算符 + - * / %
三元运算符|三目运算符: 条件运算符
2.算数运算符
+
1)+正号
2)加法计算
3)字符串连接符
看+左右两边是否有字符串的存在,如果存在字符串,+就作为字符串连接符,最终会得到一整个字符串
"abc"+123 ——> "abc123"
public class Operator09{
public static void main(String[] args){
int num=+3; //代表正号
System.out.println(num);
System.out.println("abc"+123);
System.out.println("abc"+false);
//转字符串
System.out.println(1314+"");
System.out.println("num="+num);
System.out.println("num = "+num); //字符串中的内容原封不动的打印
System.out.println("hello"+'a'+1); //helloa1
System.out.println(1+'a'+"hello"); //98hello
}
}
-
1)负号
2)减法运算
* 乘
/ 除
% 取模 求余数
如果第一个操作数小于第二个操作数,结果结尾第一个操作数
3. 自增/自减 ++ --
即 自身+1或者自身-1
a++ ==> a=a+1
--a ==> a=a-1
1)操作自己:
++在操作数的前面或者后面都是自身+1
--在操作数的前面或者后面都是自身-1
2)操作别人|影响别人|参与运算:
++|--是放在操作的前面,先自身+1或者-1在去参与运算
++|--是放在操作的后面,先去参与运算在自身+1或者-1
public class Operator10{
public static void main(String[] args){
int a=3;
a++; // a=a+1;
--a; // a=a-1;
System.out.println(a); //3
System.out.println(a--); //3
System.out.println(a); //2
int s=4;
int result= 2+ ++s;
System.out.println(s); //5
System.out.println(result); //7
}
}