使用VS Code编写java程序
-
新建一个文件夹存放代码
-
新建一个java文本文档 (后缀名改为.java 例:Hello.java)
-
编写代码
public class Hello{
public static void main(String[] args)
{
System.out.println("Hello World");
}
}类名和文件名必须一致
-
编译javac Hello.java,会生成一个class文件 (在存放java文件的路径下运行Dos命令)
-
运行class文件 java Hello 编译成功
-
Java程序运行机制
-
编译型:将源代码直接转换成计算机可执行的代码,需要编译器,执行速度快,对操作系统要求较低(C语言,C++)
-
解释型:执行一句代码解释一句,执行速度较慢,适用于网页(java,JavaScript,python等)
-
java结合了编译型和解释型:程序运行机制
源程序(.java文件)通过Java编译器转化为字节码(.class文件)加载到类装载器(JVM:java虚拟机)--字节码校验器--通过解释器解释给操作平台--运行
java数据类型
-
强类型语言,所有变量都必须先定义后才能使用
-
分为:
-
基本类型(8种)
byte(位)占一个字节:-128-127
short占2个字节:-32768-32767
int占4个字节:-2147483648-2147483647
long占8个字节:-2的64次方-2的64次方 定义:long b=1232432L;
float占4个字节 定义:float a=0.1F;
double占8个字节(浮点数类型不加F,默认double类型)
char占2个字节 定义 char c='A';
Boolean占1位 只有true和false两个
-
引用类型
类、接口、数组
-
-
String字符串,不是关键字,是类
-
Integer、Byte是类(ctrl+单击可查看)
-
整数拓展:
二进制0b 十进制 八进制0 十六进制0x
-
浮点数拓展
银行业务怎么表示:BigDecimal
浮点数是有限的、离散的、舍入误差、大约
最好完全避免使用浮点数进行比较
-
字符拓展
所有的字符本质还是数字
Unicode编码可以处理各种语言文字,占两个字节,可表示65536个字符以上
Unicode编码通过转义表示:U0000--UFFFF(十六进制)
例:char c3='\u0061'==>a
-
转义字符:\
\t 制表符
\n 换行
-
对象 从内存分析
例:String sa=new String(origin:"hello world");
String sb=new String(origin:"hello world");
System.out.println(sa==sb);==>false(分配内存不同)
-
布尔值拓展
Boolean flag = true;
if(flag==true){} //与下方相等
if(flag){}
类型转换
-
强制转换 格式:(类型)变量名 高-->低
-
自动转换 低-->高
byte,short,char-->int-->long-->float-->double
-
注意:
-
不能对布尔值进行转换
-
不能把对象类型装换为不相干的类型
-
在把高容量转换到低容量的时候,强制转化
-
转换的时候可能存在内存溢出,或者精度存在问题
-
-
数字之间可以用下划线分割 例:10_0000_0000