基础
注释
-
单行注释:// ……
-
多行注释:/*…… */
-
文档注释:/**
*
*/
标识符
是指用来标识某个实体的一个符号,用户编程时使用的名字,用于给变量、常量、函数、语句块等命名
- 所有标识符都应该以字母(AZ、az)、美元符($)、下划线(_)、数字的任何组成,且数字不能为首字母
- 不能使用关键字作为变量名或者方法名
- 标识符是大小写敏感的
- 可以使用中文命名或者拼音,但是不建议
关键字
数据类型
👨🚀强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
🌍弱类型语言:要求变量的使用要可以不符合规定
-
基本类型(primitive type):
-
Long类型在数字后加’L’,float类型在小数后面加’F’,字符char只包含一个字,用单引号表示,字符串包含多字(String不是关键字,是一个类)
-
尽量避开浮点数进行比较,因为float是有限的,离散的,舍入误差,接近但不等于
银行业务用BigDeciaml(数学工具类)
-
-
引用类型(reference type):
-
\u0000~\uffff:转义字符
\t:制表符
\n:换行
…
-
案例
float a = 0.1f; double b = 1.0/10; System.out.println(a==b); //false float d1 = 2333333333333333333333333f; float d2 = d1 + 1; System.out.println(d1==d2); //true char c = 's'; //字符类型是单个字符
类型转换
- 类型转换优先级:
运算中,不同类型的数据先转化为同一类型,然后再进行运算
-
低转高可以直接赋值(自动类型转换)
高转低需要强制类型转换(转换时可能存在内存溢出问题或者精度问题)
-
强制转换:(类型)变量名
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类
-
案例
int d = 128; byte e = (byte)d; //内存溢出 double f = d; System.out.println(d); //128 System.out.println(e); //-128 System.out.println(f); //128.0 /* 注意: 1.不能对布尔值进行转换 2.不能把对象类型转换为不相干的类型 3.在把高容量转换到低容量的时候,强制转换 4.转换的时候可能存在内存溢出,或者精度问题(小数转整数,会丢失小数部分) char c = 'a'; int d = c+1; System.out.println(d);//98 System.out.println((char)d);//b */ System.out.println("==============练习=============="); /* 操作比较大的数的时候,注意溢出问题 JDK7新特性,数字之间可用下划线分隔 */ int money = 10_0000_0000; int years = 20; int total = money*years; System.out.println(total); //-1474836480,溢出 long total2 = money*years; System.out.println(total2); //-1474836480,仍然溢出(money和years是int类型,money*years结果是int,再把结果转成long,也就是转换之前已经出现问题) long total3 = money*((long)years); System.out.println(total3);
变量
变量的命名规范
- 所有变量、方法、类型:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary (除了第一个单词以外,后面的单词首字母大写)
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:runRun()
基本
-
变量就是可变换的量:
数据类型 变量名=值;
type varName [=value] [{,varName[=value]}],可以使用逗号隔开来声明多个同类型变量,但不建议一行定多个
-
Java是一种强类型语言,每个变量都必须声明其类型
-
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
-
作用域:
-
类变量:必须要有static方法外面,类的里面(直接访问)
static int allClicks=0;
-
实例变量:方法外面,类的里面,从属于对象java1_1(通过对象访问实例变量)
String str=“hello world”;
-
局部变量:方法里面的变量,必须声明和初始化值
public class Variable{
static int allClicks=0; //类变量
String str=“hello” //实例变量
public void method(){
int i=0; //局部变量
}
}
-
-
-
变量名必须是合法标识符
-
案例
public class Java1_1 { //类变量 static关键词 static double salary = 2500; //属性:变量 /* 实例变量:从属于对象;如果不自动初始化,返回这个类型的默认值 布尔值默认false 除了基本类型,其余基本类型都是null */ String name; int age; //main方法 public static void main(String[] args) { //局部变量:必须声明和初始化值 int i=10; System.out.println(i); //变量类型 变量名 = new Jave1_1();——实例变量 Java1_1 java1_1 = new Java1_1(); System.out.println(java1_1.age);//通过对象访问实例变量 //类变量 System.out.println(salary);//直接访问 } //其他方法 public void add(){ } }
常量
-
常量(Constant):初始化(initialize)后不能再改变值,不会变动的值,用关键词
final
表示//修饰符,不存在先后 static final double PI = 3.14;
-
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
-
常量名一般用大写字符