文章目录
JAVA学习-FirstDay-入门(根据自己的学习进度更新)
能让你后退的只有你自己!
一、 Hello World
- Java大小写敏感
- 尽量使用英文
- 文件名 和 类名必须保持一致,且首字母大写
- 符号使用了中文
代码
public class Hello{
public static void main(String[] args){
System.out.print("Hello,World!");
}
}
类:public class
类名:Hello
方法:main
二、Java运行机制
编译器
相当于将一本书翻译过来让读者看
速度快,用于开发操作系统
解释器
相当于找一个翻译,听到一句,翻译一句
程序运行机制
三、Java基础语法
注释
类名,变量名以及方法名都被称为标识符
- 以字母,美元符($),或者下划线()开头,之后可以是任意字符组合
- 不能用关键字作为标识符
- 可以使用中文命名
关键字
几乎全部
四、数据类型
强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用(安全性高,速度慢)
弱类型语言
对变量要求不高
基本类型
- long类型要在数字后面加个L:long num=30L
- float类型要在数字后面加个F
- 字符类型char后跟一个字符,char name=‘A’或 char name ='张’
- 字符串,String不是关键字,是类,String name="张三"
- 布尔值:是非,boolean flag = tree;或boolean flag = flase
引用类型
五、类型转化
字节
-
位(bit)是计算机内部数据储存的最小单元,11001100是一个8位二进制数
-
字节(byte):是计算机***数据处理***的基本单位,习惯上用大写B来表示
-
1B(byte,字节)=8bit(位)
-
字符:是指 计算机中使用的字母,数字,字和符号
1bit表示1位,
1Byte表示一个字节 ,1B=8b
1024B=1KB
1024KB=1M
1024M=1G
1024G=1TB.
思考:电脑的32位和64位的区别是什么?
32位的操作系统只能用32位的CPU,64位的操作系统32位CPU,64位CPU都能用;
寻址能力:64位最多可以支持128G的内存,32位最多4G
问题
public class Demo03{
public static void main (String[] args){
//整数拓展:进制 二进制0b开头 八进制0 十六进制0x
int i=10;
int i2=010;
int i3=0x10;
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
}
}
输出:10
8
16
public class Demo03{
public static void main (String[] args){
//浮点数拓展
//少用浮点数进行比较
float f =0.1f;//0.1
double d =1.0/10;//0.1
System.out.println(f==d);//flase
//"==",比较的不是数值,而是地址,要用equal
//字符拓展
System.out.println("================");
char c1='a';
char c2='中';
System.out.println(c1);//a
System.out.println((int)c1);//强制换行;97
System.out.println(c2);//中
System.out.println((int)c2);//强制换行;;20013
//所有的字符本质还是数学
//转义字符
//\t 制表符
//\n 换行
}
}
六、类型转换
-
由于Java是强类型语言,说一要进行有些运算的时候,需要用到类型转换
按容量大小排序:
低---------------------------------------->高
byte,short,char->int->long->float->double
public class DOmo05{
public static void main (String[] args){
int i=128;
byte b = (byte)i;//高到低,强制转换
double c = i;//低到高,自动转换
}
}
注意点:
- 不能对布尔值进行转换
- 不能把对象类型转化为不相干的类型
- 转换的过程可能有内存溢出,或精度问题
七、内存溢出
public class Domo06{
public static void main(String[] args){
//计算比较大的数的时候,注意溢出问题
//JDK7,数字之间可以用下划线分割
int money = 10_0000_0000;
int year=20;
int total = money*year;//-147836480,计算的时候溢出了
long total2 = money*year;//默认是int,转换之前已经存在问题了!!!
long total3 = money*((long)years);//先把一个数转换为long
System.out.println(total3);//输出正确
}
}
八、变量/常量
变量
要素:变量名,变量类型,作用域。
tyype varName [=value] [{,varName[=value]}];
//数据类型 变量名 = 值;可以使用逗号隔开来声明不同的类型
变量的命名规范
-
用英文单词,Demo(演示)
-
类成员变量:首字母小写和驼峰原则:除第一个单词外,后面的单词首字母大写:monthSalary
-
局部表量:同上
-
类名:首字母大写和驼峰原则:Demo,Man,GoodMan
-
方法名:首字母小写和驼峰原则:run( ),runMan( )
public class Demo8{
//类变量 static
static double salary=2500;
//实例对象;从属于对象;如果不自行初始化,这个类型的默认值 0 / 0.0
//布尔值:默认值是false
//除了8个基本类型,其余都是null
String name;
int age;
//main方法
public static void main (String[] args){
//局部变量;必须声明和初始化值;只能在{}内用
int i=10;
System.out.printl(i);
// 变量类型 变量名字 = new Demo08();
Demo08 demo08 = new Demo08();
System.out.printl(demo08.age);
System.out.printl(demo08.name);
//类变量 static
System.out.printl(salary);
}
//其他方法
public void add(){
}
}
常量
初始化之后不能改变的值
final 常量名=值;
final double PI=3.14;
常量名一般用大写字母
九、运算符
public class Demo09{
public static void main(String[] args){
long a=123243443353353333;
int b=123;
short c=10;
byte d=8;
//混合运算无论是赋值还是运算都是像最高位转换
System.out.println(a+b+c+d);//long,有高位a参与运算
System.out.println(b+c+d);//int
System.out.println(c+d);//int
}
}
public class Demo10{
public static void main(String[] args){
int a=3;
int b=a++;//先将a的值赋给b,a再自增1
int c=++a;//a先自增1,再将a的值赋给c
//幂运算,利用2*2*2
double pow=Math.pow(2,3);
}
}
十、包机制
Java提供了包机制,用于区分类名的命名空间,本质上是***文件夹***
语法格式:
package pkg1. pkg2. pkg3…;
- 一般利用公司域名倒置作为包名,防止命名空间重复
例如:
com. zhang. xxx
com. baidu. www
为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句完成这项功能。
语法格式:
import package1.package2…(classname|*)
import xxx. xxx .xxx. * ;表示调用这个包里所有的类
报错的话,按住alt+Enter引用包。
视频:
Video
视频来自B站 狂神说JAVA