Java学习笔记

本文介绍了Java语言的主要特点,包括简洁性、面向对象、分布式、安全性和平台无关性等。详细阐述了Java的编译过程,从源代码到字节码再到JVM的解释执行。此外,还讲解了JDK、JVM和JRE之间的关系以及常用的Java命令。文章进一步讨论了Java中的变量和数据类型,包括基本类型和引用类型,并给出了示例代码。
摘要由CSDN通过智能技术生成

Java学习笔记

java特点及编译运行

特点

 简洁性

面向对象:封装、继承、多态

 分布式

 安全性和健壮性

 平台无关性(或结构中立性)

 可移植性

 多线程

编译过程

 使用字符编辑器上输入并保存Java源程序代码(.java) ;

 使用编译器javac.exe对源程序进行编译,生成对应的字节码

程序(.class)[注1]; 字节码具有平台无关性,没有隐藏保密的功能

 使用Java虚拟机(JVM)中的解释器java.exe对Java字节码

程序解释执行(后来为了提高速度,又引入了即时编译方式JIT);JVM需针对不同操作系统开发,分为装入、校验、运行3个阶段


*图片来源:https://zhuanlan.zhihu.com/p/32453148

JDK /JVM /JRE

JVM+运行类库(jar)=JRE

JRE+JAVA开发工具(javac.exe\jdb.exe等)=JDK

在这里插入图片描述

常用的java命令

java 执行命令

javac 编译命令

java doc

public class HelloWorld{
	/*
	 *程序主入口
	 */
	public static void main(String[] args){
		//在控制台输出一段英文:Hello World
		System.out.println("Hello World");
	}
}

变量与数据类型

变量

一个数据存储空间的表示,是计算机中一块特定的内存空间,有一个或多个连续的字节组成

数据类型

(基本类型)

数值

整型(int short long byte)

浮点型(float double)

非数值

boolean char

注意:

String不是基本类型,属于类类型,以“”表示字符串

对于超大型数字,采用Biglnteger或BigDecimal类型的数据进行精确计算

java 中,char是一个16位的无符号整数,用于保存单个字符时(‘1’,‘a’),可以保存专一字符(’\b’,‘\t’,‘\r’,‘\n’)

范围小的数值类型转为范围大的数值类型可自动转换,范围大的转范围小的需强制转

使用
public static void main(String[] args){
	int salary1=8500;//声明并初始化
	int salary2;//先声明后初始化
	salary2=8500;
    int y = 3.1415926; //非法:3.1415926不是整数,需强制转换为int后赋值。
	int x = (int)3.1415926; //合法:先将3.1415926转换为整数3后赋值给x。 
    boolean truth = 1; //非法:一般错误,不像C/C++中对布尔型赋1或0值。
	float z = 3.14156; //非法:3.14156是双精度数,不能直接赋给z,需转换
	float z = 3.14156f; //合法
	float s = (float)3.14156; //合法:先将3.14156转换为float,再赋给s。 
    double z = 3.14156f;// 合法,隐式转换
}
引用类型

数组:[]

类(包括对值类型的封装类): class

接口: interface

枚举: enum

空引用(所有引用类型的默认值): null

值类型在栈(stack,或称堆栈)上分配,引用类型在堆(heap)上分配

public class ArrayTest {
public static void main(String[] args) {
int[] a = new int[2];// a={0,0,0}
int[] b = a;//复制a的地址
b[0] = b[0] + 1;// a=b={1,0,0}
System.out.println(a[0]);// 1
int n = 0;
int m = n; //复制n的值
m = m + 1;// m=1,n=0
System.out.println(n); // 0
} }
 a=b={1,0,0}
System.out.println(a[0]);// 1
int n = 0;
int m = n; //复制n的值
m = m + 1;// m=1,n=0
System.out.println(n); // 0
} }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值