语法
注释
//单行注释
/*
多行注释
*
/
/**
文档注释*
/(用得比较少)
标识符关键字-参数定义注意事项
关键字有自己特定功用-在定义参数时不能随意使用
数据类型
强类型语言——必须先定义后再使用且变量使用必须符合规定
基础类型
-
整数型int常用且够用,long类型要在数字后面加L-小写也可以但容易被看错
进制开头 二进制0b 十进制 八进制0 十六进制0x 输出为二进制
int num1 = 10; long num2 = 30L; int i1 = 10; int i2 = 010; int i3 = 0x10;
-
小数类型一般double够用,float后面加F(调试定点—前面标红点不通过箭头按蟑螂符调试)
浮点数接近但不等于-不要用浮点数进行比较-用BigDecimal数据工具类
float num3=50.1F;
-
字符char(一个中文符占两个字节)(1个字节8个位,标识加7个1为127),String(引用类型)可定义多个字符串
直接输出字符注意带符号
字符转换为数字,输出前面加int-字符本质还是数字(Unicode得编码表)
转义字符-输出空格符\t,输出换行符\n-更多的自己学了测试
char name = 'A'; String namea = "moulixu"; 输出注意带符号sout("moulixu"); 输出转换sout((int)name); 输出空格sout(“mou\tli\txu”);
-
boolean只有是非
用来if中做判断-代码精简易读
boolean flag = true; if (flag){}默认为if(flag==true){}; boolean flag = false;
引用类型
除基础类型以外都是引用类型
类型转换
-
低到高 byte,short,char-int-long-float-double
-
运算时,不同数据类型转换为同一类型再做运算-转换时避免内存溢出127(混乱结果)
-
强制转换-高到低-(类型)变量名
int i = 128; byte b = (byte)i; 或者输出转换sout("moulixu");
-
自动转换-低到高
int i = 128; double b = i;
注意点
- 不能对布尔boolean进行转换
- 不能把对象类型转换为不相干得类型
- 高到低强制转换
- 转换时避免内存溢出和精度问题
数据很大时
比如
-
int money = 10_0000_0000;数字之间可用下划线分割且下划线不会被输出
-
注意转换前已经出现问题
int a =100000000; int b =100; long total1 = a*b;//(默认int*int为int类型,输出会是乱码) //可以这样 long total2 = a*((long)b);//把其中一个强制转换为long
变量、作用域、常量
变量
可以变化得量-指定空间进行变量数据操作
变量需要定义类型,变量名需要符合标准,分号结尾
type name = 11;
//数据类型 变量名 = 值;可以使用逗号隔开来声名多个同类型变量-不建议这样(读起来不顺畅)
type a,b,c;
作用域
-
类变量-加了static关键词;-后面再仔细学
-
实列变量-从属于类;如果不自行初始化,这个类型就是默认值0、0.0、false(除了基本类型,其余默认都是null)
new使用
-
局部变量-方法里,方法外就没用了(必须声明和初始化值)
public class Variable{ static int allClicks = 0;//类变量 String str = "hello";//实列变量 public void method(){ int i =0;//局部变量 } }
常量
初始化后 不会再改变-避免规定范围出错
final double PI =3.14;
// final 类型 常量名=值-常量名一般使用大写字符
static final double PI =3.14;
final static double PI =3.14;//变量前为修饰符,修饰符得顺序不影响输出结果