javaDay01
java运行机制
编译型 解释型
IDEA开发
java基础语法
注释
- 单行注释
- 多行注释
- 文档注释
public class helloworld {
public static void main(String[] args) {
//输出 hello world
System.out.println("Hello world !");
}
}
// 单行注释
/*
* 这是
* 多行注释
* */
//文档注释
/**
* @Description HelloWorld
* @Author
* /
/*
*
* ┌─┐ ┌─┐
* ┌──┘ ┴───────┘ ┴──┐
* │ │
* │ ─── │
* │ ─┬┘ └┬─ │
* │ │
* │ ─┴─ │
* │ │
* └───┐ ┌───┘
* │ │
* │ │
* │ │
* │ └──────────────┐
* │ │
* │ ├─┐
* │ ┌─┘
* │ │
* └─┐ ┐ ┌───────┬──┐ ┌──┘
* │ ─┤ ─┤ │ ─┤ ─┤
* └──┴──┘ └──┴──┘
* 神兽保佑
* 代码无BUG!
*/
标识符
关键字
所有标识符都应该以字母(A a),美元符($),下划线(_)开始
String a = "hao";
String A = "hao";
String $a = "hao";
String _a = "hao";
不能使用关键字作为变量名或方法名
标识符大小写十分敏感
数据类型
强类型语言(安全性高,速度慢)
要求变量的使用要严格符合要求,所有变量都必须先定义后使用
java的数据类型分为两大类
基本类型
引用类型
//八大基本数据类型
//整数
int num1 = 1000000;
byte num2 = 20;
short num3 = 30;
long num4 = 40L;
//浮点数
float num5 = 50.1F;
double num6 = 3.14159261564512;
//字符
char name = 'A';
//字符串,String不是关键字,类
// String name1 = "你好啊,好久不见!";
//布尔值
boolean flag = true;
boolean flag1 = false;
最好完全避免使用浮点数进行比较
最好完全避免使用浮点数进行比较
最好完全避免使用浮点数进行比较
//整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
int i2 = 010;
int i3 = 0x10;
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("==============================");
//===============================================
//浮点数拓展? 银行业务怎么表示? 钱
//BigDeciaml 数学工具表
//===============================================
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
float f = 0.1f; //0.1
double d = 1.0/10; //0.1
System.out.println(f==d); //false
float d1 = 233333333333333333333f;
float d2 = d1 + 1;
System.out.println(d1==d2);//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
//转义字符
// \t 制表符
// \n 换行
// …………
System.out.println("hello\tworld");
System.out.println("===========================");
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 More! 代码要精简易读
类型转换
int i = 128;
byte b = (byte) i; //内存溢出
//强制转换 (类型)变量名 高--低
//自动转换 低--高
System.out.println(i);
System.out.println(b);
/*
* 注意点:
* 1.不能对布尔值进行转换
* 2.不能把对象类型转换为不相干的类型
* 3.在把高容量转换为低容量的时候,强制转换
* 4.转换的时候可能会出现内存溢出,或者精度问题
* */
System.out.println("============================");
System.out.println((int)23.7); //23
System.out.println((int)-45.45); //-45
System.out.println("============================");
char c = 'a';
int d = c+1;
System.out.println(c); //a
System.out.println((char) d); //b
//操作比较大的数的时候,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
System.out.println(money);
int year = 20;
int total = money*year; //-1474836480,计算的时候溢出了
System.out.println(total);
long total2 = money*year; //默认是int,转换之前已经存在问题了
System.out.println(total2);
long total3 = money*(long)year; //先把一个数转换为Long
System.out.println(total3); //20000000000 计算正确
long total4 = (long)money*year;
System.out.println(total4); //20000000000
变量
//类变量 static
double salary = 2500;
//属性:变量
//实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0
//布尔值:默认是false
//除了基本类型,其余都是null
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值
int i = 10;
System.out.println(i);
//变量类型 变量名字 = new demo05();
demo5 demo5 = new demo5();
System.out.println(demo5.age);
System.out.println(demo5.name);
//类变量 static
System.out.println(salary);
常量
//修饰符,不存在先后顺序
static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}

浙公网安备 33010602011771号