Java学习笔记(参考c语言)Java编译过程和变量运算篇(java调用c语言程序)
2022-03-01
字节码文件:文件名.class(文件名是类名)
源文件:文件名.java
java严格区分大小写,但是windows的路径不区分大小写
所有javac后跟的文件可以编译大小写不正确的文件
但是java 后跟的文件不可以运行大小写不正确的文件
使用javac去编译java源文件生成源文件类名的字节码文件.class
再使用java去运行生成的字节码文件.class从而运行程序(但是指令不用带.class后缀)
当程序Java正确时,但无法运行字节码文件:
可能是因为之前配置的class_path路径会影响程序运行
class_path是.class字节码文件的坏境变量(当影响class文件查找路径时可删除,默认在当前路径查找)
Java特有文档注释
/**
内容
*/
文档注释的内容可以被jdk工具Javadoc解析,生成以网页文件形式体现的说明文档
解析Java文件类的时候,class也需要+public
一个Java源文件可以声明多个类,但只有一个类可以声明为public
public的类的类名必须与源文件相同
System.out.println("***");是先输出内容,然后换行的
Syetem.out.print("**");输出但是不换行
编译一个源文件可以生成多个字节码文件且字节码文件与Java源文件的类名相同
应用程序=算法+数据结构
常见的Java开发工具
文本编辑工具:记事本; editplus ;textpad;notepad ;vim ;
集成开发环境(IDE):JBuilder ;NetBeans ;Eclipse ;IDEA
JDK:JRE+Java开发工具(eg:Java.exe javac.exe javadoc.exe)
JRE:JVM+Java核心类库
path环境变量配置的目的:为了让在任意路径下都能执行Java开发工具
JAVA_HOME存jdk的bin的上层目录
path=%JAVA_HOME%\bin
Java的变量与运算符
变量的作用域在所在的{}内
Java数据类型:
1:基本数据类型:
整型:byte、short、int、long
浮点型:float、double
字符型:char
布尔型:boolean
2:引用数据类型;
类(class)、接口(interface)、数组(array)
1byte=8bit(byte最小存储单位)-128~127
1short=2byte
1int=4byte
1long=8byte 用long型变量最好带“l”或者“L”
float占4字节(7位有效数字)表示数值的范围比long大
定义float变量时,变量要以“f”或者“F”结尾
eg:float f1 = 12.3f;
double占8字节
可以不用带后缀
char占2字节
声明char型变量通常使用一对‘’;
char c1 = ‘a’;与c一致
一个char内部只能写一个字符;
可以直接使用Unicode值来表示字符型常量
boolean = c中的bool;ture、false但是和c不同的是1和0不等于ture和false
System.out.println("很遗憾你没有\"npy\"是个\"single dog\"")这样就可以输出双引号
运算规则:
1:自动类型提升:
byte、char、short -> int -> float ->double
当容量小的数据类型与大的做运算的时候会自动提升为容量大的数据类型(容量指的可表示的范围)
*运算后最小的接收数据类型为int
2:强制类型转换:
自动类型提升运算的逆运算
实现方法与c 一致在变量前(转变类型)可能导致精度损失
String类型变量的使用:
String属于引用数据类型
String s1 = "";可以编译
char a1 = '无任何东西';编译不通过
String可以和8种数据类型做运算(包括bool)
+:连接运算(拼接) +左右都无String时只是一个加法运算
class VariableTest
{
public static void main(String[] args)
{
double myAge = 19;
int yourAge = (int) myAge;
long l = 12312;
//定义要加l,否则就是当成一个int型去赋值
//使用long l = 12312314212412412412123;时会报错;
//使用long l = 12312312412412414214124l;就不会报错程序正常;
//整型常量默认类型为int,浮点型常量默认类型为double
short a = 4;
float b =1.8f + a;
// b = b + a;
System.out.println(b);
System.out.println(myAge);
System.out.println(yourAge);
String str1 = 123 + "";
System.out.println(str1);//"123"
int num = Integer.parseInt(str1);
System.out.println(num1);//123
}
}