这里写自定义目录标题
注释、标识符、关键字
1、注释:
注释是给我们写代码的人看的,让别人更容易理解我的代码
public class Helloworld {
//psvm
public static void main(String[] args) {
//输出一个Hello,world!单行注释
//sout
System.out.println("hello,world!");
}
/*
奥特曼
多行注释
*/
/**
* 文档注释
* @Description HelloWorld
* @Author 徐政委
*/
}
*2、标识符、关键字
3、数据类型
数据类型拓展
import java.sql.SQLOutput;
public class Demo03 {
//八大基本数据类型
//整数
int num1 = 10; //最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L; //long类型要在数字后面加个L
//小数:浮点数
float num5 = 50.1F; //float类型要在数字后面加个F
double num6 = 3.14152653589764655465;
//字符
char name = 'A'; //只能写一个
//字符串,string不是关键字,类
String namea = "徐政委";
//布尔值:是非
boolean flag = true;
//boolean flag = false;
public static void main(String[] args) {
//整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x
int i=10;
int i1=010;//八进制0
int i2=0x10;//十六进制0x 0~9 A~F 16
System.out.println(i);
System.out.println(i1);
System.out.println(i2);
//浮点数拓展 银行业务怎么表示?钱
//BigDecimal 数学工具类
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全避免使用浮点数进行比较
float f= 0.1f; //0.1
double d=1.0/10; //0.1
System.out.println(f==d);//false
System.out.println(f);
System.out.println(d);
float d1=23131232131231f;
float d2=d1+1;
System.out.println(d1==d2);//true
//字符拓展?
System.out.println("=====================================");
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字节 65536 Excel 2的十六次方=65536
//U0000 UFFFF
char c3 = '\u0061';// u代表给它转义
System.out.println(c3);//a
//转义字符
// \t 制表符
// \n 换行
// ...
System.out.println("Hello\nWorld");
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb);
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd);
//对象 从内存分析
//布尔值扩展
boolean flag = true;
if(flag==true){} //新手
if(flag){} //老手
//Less is Morel 代码要精简易懂
}
}
类型转换
public class Demo04 {
public static void main(String[] args) {
//java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
//低~高(小数的优先级一定大于整数):byte,short,char->int->long->float->double
int i=128;
byte b=(byte) i;//转换为byte类型 128会出现内存溢出的问题
double c=i;
//强制转换 (类型)变量名 高到低
//强制转换 (类型)变量名 低到高
System.out.println(i);
System.out.println(b);
System.out.println(c);
/*
注意点:
1、不能对布尔值进行转换
2、不能把对象类型转换为不相干的类型
3、把高容量转移到低容量时,强制转换
4、转换的时候可能存在内存溢出,或者精度问题!
*/
System.out.println("========================");
System.out.println((int)23.7);//23
System.out.println((int)-45.89f);//-45
System.out.println("========================");
char d='a';
int e=d+1;
System.out.println(d);
System.out.println((char)e);
}
}
在这里插public class Demo05 {
public static void main(String[] args) {
//操作比较大的数的时候,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money=10_0000_0000;
int years=20;
int total=money*years;
long total2=money*years;//默认是int类型,即在转换前已经被弄成int类型,转换前就已经出现问题了。
long total3=money*((long)years);
System.out.println(money);
System.out.println(total);//-1474836480 计算的时候溢出了
System.out.println(total2);//一样溢出
System.out.println(total3);
}
}
入代码片
变量、常量、作用域
public class Demo08 {
//类变量 static
static double salary=60000;
//属性:变量
//实例变量:从属于对象;如果不自行初始化,这个类型的默认值。0 0.0
//布尔值:默认是false
//除了基本类型,其余的默认值都是null
String name;
int age;
//main 方法
public static void main(String[] args) {
//局部变量;必须声明和初始化值
int i=10;
System.out.println(i);
//变量类型 变量名字= new Demo08();
Demo08 demo08=new Demo08();
System.out.println(demo08.age);
System.out.println(demo08.name);
//类变量 static
System.out.println(salary);
}
//其他方法
public void add(){
}
}
public class Demo09 {
//修饰符,不存在先后顺序
static final double PI = 3.14;//final 在前在后都可以
public static void main(String[] args) {
int a= 3;
System.out.println(PI);
System.out.println(a);
}
}