注释符、标识符、关键字
Java注释符有三种
- 单行注释: //
- 多行注释:/* */
- 文档注释:/** */
标识符、关键字
注意
- 所有的标识符都应该以字母,美元符、下划线开始
- 首字符之后可以是字母,美元符,下划线或任何字符组合
- 不能使用关键字作为变量名或方法名
- 大小写十分敏感
数据类型
强类型语言:要求变量的使用要严格要求,所有变量都必须先定义后才能使用。
弱类型语言:要求变量的使用没有严格要求。(JavaScript)
Java的数据类型分为两大类
-
基本类型
-
引用类型
-
-
什么是字节
-
-
详解
-
package Base; //数据类型 public class Demo { public static void main(String[] args) { // 整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x int i = 10; int i1 =010; //八进制 int i3 =0x10; //十六进制 System.out.println("==================="); //================================= //浮点数拓展? 银行业务怎么表示?钱 //BigDecimal 数学工具类 //================================= //float //double //最好完全使用浮点数进行比较 //最好完全使用浮点数进行比较 //最好完全使用浮点数进行比较 float f = 0.1f;//0.1 double d = 1.0/10;//0.1 System.out.println(f==d);//false float f1 =3232323232323232323232f; double d2 =f1 +1; System.out.println(d2==f1);//true //================================= //字符拓展? //================================= char c1 ='a'; char c2 ='中'; System.out.println(c1); System.out.println((int)c1);//强制转换 System.out.println(c2); System.out.println((int)c2);//强制转换 //所有字符本质还是数字 //编码 Unicode 表:(97=a 65=A) 2字节 0~65536 Excel 2 16=65536 // U0000 UFFFF char c3='\u0061'; System.out.println(c3); //转义字符 // \t制表符 // \n换行 System.out.println("Hello\nworld"); System.out.println("===================="); String sa =new String("hello"); String sb =new String("hello"); String sc ="hello"; String sd ="hello"; System.out.println(sc==sd); //=================================== //布尔值拓展 boolean flag =true; if(flag==true){} if(flag){} //代码精简易读 } }
类型转换
详解
package Base;
public class Demo1 {
public static void main(String[] args) {
int i =128;
byte b=(byte) i;//内存溢出
//强制类型转换 (类型)变量名 高-->低
//自动转换 低-->高
System.out.println(i);
System.out.println(b);
/*
* 注意点:
* 不能把布尔值进行强制转换
* 不能把对象类型转换为不相关的类型
* 再把高容量转换到低容量的时候,强制转换
* 转换的时候可能存在内存溢出,或者精度的问题
* */
System.out.println("========================");
System.out.println((int)23.7);//23
System.out.println((int)-45.89);//-45
System.out.println("========================");
char c='a';
int d = c+1;
System.out.println(d);
System.out.println((char)d);
//操作比较大的数的时候,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money = 10_00000_00;
int year =20;
int total =money * year;//计算的时候溢出了
int total1 = money*year;//默认是int,转换之前已经溢出了
long total2 =money *(long)year;//先把一个数转换为long
System.out.println(total2);
}
}
变量、常量
变量
变量作用域
常量
详解
package Base;
public class Demo2 {
//类变量 static
static double sta = 251;
//属性:变量
//实例变量,从属于对象:如果不进行初始化,这个类型的默认值 0.0
//布尔值,默认为false
//除了基本类型,其余默认值为null
String names;
int age;
//main方法
public static void main(String[] args) {
//局部变量,必须声明以及初始化值
int a=1;//程序的可读性
String name="sdadf";
char x='x';
//变量类型 变量名字 =new Base.Demo2();
Demo2 demo2 = new Demo2();
System.out.println(demo2.age);
//类变量 static
System.out.println(sta);
}
//其他方法
public void add (){
}
}
运算符
具体符号
-
详解(符号应用)
-
package Base; //逻辑运算符 ||或 &&与 !非 public class Demo4 { public static void main(String[] args) { //||或 &&与 !非 boolean a=true; boolean b=false; System.out.println("a&&b"+(a&&b));// 与运算:两个变量都为真,结果才为真 System.out.println("a||b"+(a&&b));// 或运算:两个变量一个为真,结果就为真 System.out.println("a&&b"+!(a&&b));// 如果为真,结果为假 //位运算符 /* A= 0011 1100 B= 0000 1101 A&B= 0000 1100 A|B= 0011 1101 A^B= 0011 0001 ~B= 1111 0010 面试题 2*8 2*2*2 <<左移 >>右移 * */ System.out.println(2<<3); /* a+=b; a=a+b; a-=b; a=a-b; */ //字符串连接符+ int c=10; int d=20; //面试题 System.out.println(c+d); System.out.println(""+c+d);//1020 字符串拼接 System.out.println(c+d+"");//30 //x?y:z 如果x==true ,结果为y,否则为z //优先级() } }
package Base;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;
public class Demo3 {
//修饰符final,不区分先后顺序,类变量pi
static final double Pi=3.14;
public static void main(String[] args) {
System.out.println(Pi);
//二元运算符
//ctrl + d :复制当前行到下一行
long a=10;//有关long和double有关的操作,最后类型为long(double)
int b=20;
byte c=30;
System.out.println(a+c);//long
//关系运算符返回结果:true false
//% 取余运算(模运算)
//一元运算符 ++ -- 自增,自减
int n= (int) a++;
//先赋值,再自增
int k = ++b;
//先自增,再赋值
//幂运算
double pow =Math.pow(3,2);
System.out.println(pow);
}
}
包机制、JavaDoc
包机制
package Base;
//包机制 就是文件夹 不重名
/*
* @author LuoJing
* @Version 1.0
* @since 1.8
* */
public class Doc {
String name;
/**
* @return
*/
public String test() {
return name;
}
}