java基础

1、安装目录

bin 目录 (二进制文件) 二进制文件 *.exe *.dll *.sys PE 文件 加壳 脱壳

目录截图

include 目录 java的c语言目录

jre 目录 jdk包含的jre

lib 目录 jvm的核心类型

src.zip jdk的源码包

2 、第一个程序

第一步,编写java程序

第二步,javac命令编译java源程序,编译成字节码文件(class文件)

第三步,java 命令 运行字节码文件

public class HelloWorld{
public static void main(String[] args){
System.out.println("hello World!!");
}
}

javac HelloWorld.java
java HelloWorld

3、java注释

① 单行注释 // ② 多行注释 /* */ ③ 文档型注释java独有的 javadoc /** */

//单行注释
//公共的 类  
/*
多行注释
多行注释
多行注释
多行注释
多行注释
*/
/**
文档型注释
写在类或方法的上面
javadoc 注释
*/
public class HelloWorld{
//公共的 静态的 无返回值 方法名(字符串数组 参数)
// main 方法 代表程序的入口   称为主方法   主函数
public static void main(String[] args){
//系统   输出 打印   字符串
System.out.println("世界你好!!");
}
}

4、标识符

凡是可以自己起名字的地方都叫标识符

类名、方法名、变量名都可以自己随意起名

4.1 规则

一、a-z A-Z 0-9 $ _ 组成

二、数字不可以开头

三、不可以使用关键字 或 保留字 但可以包含

四、长度无限制,不能有空格

4.2 规范

类名:多单词组成时首字母大写

变量名和方法名:多单词组成时,首字母小写,从第二个单词开始首字母大写

包名:全小写 多单词组成时 . 分开

常量名:全大写 多单词组成时用 _ 连接

public class Demo1{
public void setName(){}
public static void main(String[] args){
int ab = 10;
int aA = 20;
int aAZb = 30;
int aA98 = 40;
int aA9$_ = 50;
//int aA9$! = 60;
//int 9abC = 70;
//关键字==命令
int h_goto = 80;
int _abc = 10;
//int aaa aaa aaa aaa aaa aaa aaaaaaaaaaaaaaaaaaaaa = 10;
int age = 10;
int setAge = 20;
int PAGE_SIZE = 10;
}
}

5、变量

内存中的一个存储区域,可以存储数据

该区域的内容可以随意修改,但不能偏离数据类型

这个区域有自己的类型和名称

如何使用?

根据变量名称使用变量值

变量必须先声明后使用

变量声明的公式:数据类型 变量名 = 初始值;

从位置上划分①类的内部方法的外部声明的变量叫成员变量②方法的内部声明的变量叫局部变量

现在我们只能使用局部变量

变量只能声明在{}中

public class Demo1{
//成员变量 类的内部方法的外部声明的变量叫成员变量
int m = 100;//声明

public void setName(){}

public static void main(String[] args){
//局部变量   方法内部声明的变量叫局部变量
int ab = 10;//声明
int aA = 20;
int aAZb = 30;
int aA98 = 40;
int aA9$_ = 50;
//int aA9$! = 60;
//int 9abC = 70;
//关键字==命令
int h_goto = 80;
int _abc = 10;
//int aaa aaa aaa aaa aaa aaa aaaaaaaaaaaaaaaaaaaaa = 10;
int age = 10;
int setAge = 20;
int PAGE_SIZE = 10;

System.out.println(ab);//使用
ab = 100;//使用
//System.out.println(m);
}
}

6、数据类型

6.1 基本数据类型

byte short int long 整数型

float double 浮点型 单精度 双精度

char 字符型 unicode编码 utf-8 万能编码

boolean 布尔型

public class Demo2{
public static void main(String[] args){
//8大基本数据类型
//整数型的数据
byte a = 10;
short b = 20;
int c = 30;
long d = 40;
//小数---   浮点型
float f1 = 10.1f;//float类型的数据必须有f 或 F   单精度
double f2 = 10.1;   //                                       双精度
//字符型
char m1 = 'a';
char m2 = '9';
char m3 = '的';
//布尔型---只能存储true或false   不能用0或1代替
boolean h = true;
boolean j = false;

System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);

System.out.println(f1);
System.out.println(f2);

System.out.println(m1);
System.out.println(m2);
System.out.println(m3);

System.out.println(h);
System.out.println(j);
}
}

6.2 引用数据类型

类(class) ------ String

接口(interface)

数组(Array)

6.3 基本数据类型和引用数据类型的区别

基本数据类型把值存储在栈内存中

引用数据类型把值存储在堆内存中,栈的内存 存储的 是指向堆内存的地址(即引用)

image-20210818145458699

7、数据类型转换

7.1 自动类型转换

public class Demo3{
public static void main(String[] args){
//自动类型转换
int a = 10;//注释
int b = 20;
byte f = 30;
short s = 12;
double k = 10.1;
float h = 20.2f;
char d1 = 'a';
char d2 = 'a';
int c = a + b;//int+int = int 10 + 20 = 30
//java程序在进行数学计算时,首先会判断变量类型是否一致,如果不一致则转换成一致的后再计算
//小的数据类型与大的数据类型计算时,首先会把小的数据类型转换成大的数据类型,然后在计算
int d = f + a;//byte + int --> int + int = int
double p = a + k;//int + double -->double + double = double
float y = h + a;//float + int ---> float + float = float
System.out.println(c);
System.out.println(d);
System.out.println(p);
System.out.println(y);
//特殊
//byte short char 这三个类型计算时,首先会转换成int,然后再计算
int g = f + f;//byte + byte --> int + int = int
System.out.println(g);
int u = f + s;//byte + short ---> int + int = int
System.out.println(u);
int z = d1 + d2;// char + char ---> int + int = int
System.out.println(z);
System.out.println('a'+0);

}
}

 

7.2 强制类型转换

//强制类型转换   大的变小的
//可能会损失精度
int w = (int)(k + k);//double + double = double
System.out.println(w);
byte n = (byte)a;//int = byte
System.out.println(n);
System.out.println((byte)300);
//常见笔试题
//在程序中出现的整数,默认数据类型为int
int uu = f + 100;//byte + int ---> int + int = int
System.out.println(uu);
//在程序中出现的小数,默认数据类型为double
double dd = f + 10.1;//byte + double ---> double + double = double
System.out.println(dd);
//在程序10位int型常量
byte kk = 10;//int   10常量,检查是否可以存储,是不报错,否则报错
//byte hh = a;//int   a 为变量 语法错误
byte kk1 = 10 + 10;//常量   byte kk1 = 20 javac 编译时系统帮助我们自动优化
//byte hh1 = a + a;//变量
byte a1 = (byte)130;

 

8、字符串计算

public class Demo4{
public static void main(String[] args){
String str = "abc";
//字符串+数据类型=字符串   数据类型+字符串=字符串
String a = str + 10.1;//String + double = String
System.out.println(a);
String b = 100 + str;
System.out.println(b);
String c = "43";
//Integer.parseInt(c) 将字符串43转换成整数43
int h = Integer.parseInt(c) + 2;//String + int = String
System.out.println(h);
}
}

9、小结

public class DemoKtsl{
//byte,short,char 之间不会相互转换,它们在计算时首先转换为int类型

public static void main(String[] arge){
int a=10;
byte b=20;
int c=a+b;//a+b--->int+byte=int+int=int.
//java程序在进行数学计算时,
//首先会判断变量类型是否一致,如果不一致则转换成一致的后再计算

//byte(1字节)<short(2字节)<int(4字节)<long(8字节)
//----------------<float(4字节)<double(8字节)

double e=2.5;
int f=(int)(a+e);
       //强制转换为int,可能会损失精度,
double f1=a+e;
       //a+e--->int+double=double+double=double;
int m=200;
String m2="11";
//数据类型+字符串=字符串;
String m3=m+m2;//m+m2--->int+String=String;

//将字符串转换为整数,
//Integer.parseInt()********
//列:
int s=Integer.parseInt(m2)+a;
System.out.println(f1);
System.out.println(m3);
System.out.println(s);


}
}

 

posted @ 2021-09-12 21:13  源気  阅读(140)  评论(0)    收藏  举报