java基础
java中的小常识
JDK、JRE、JVM
- JDK:Java Development Kit 是一个提供开发和执行(运行) Java程序环境的工具包,包括两个东西,开发工具(提供开发java程序的环境)和JRE(执行java程序)
- JRE:Java Runtime Environment 是一个安装包,它提供了一个环境,只在你的机器上运行(而不是开发) java程序(或应用程序)
- JVM:Java Virtual Machine
JDK的卸载和安装
卸载JDK
- 删除java的jdk安装目录
- 打开环境变量
- 删除JAVA_HOME
- 删除Path下关于Java的目录
- 在命令提示符搜索java -version查看是否能查找java的版本
安装JDK
- 下载JDK1.8
- 安装JDK
- 配置环境变量
- 我的电脑-->右键-->属性
- 环境变量-->JAVA_HOME
- 配置path变量(jre、bin)
- 测试JDK是否安装成功
- 打开cmd
- java -versionx
Hello World
-
创建Hello.java文件
-
编写代码
public class Hello{ public static void main(String[] args){ System.out.print("Hello world"); } }
-
编译 javac java文件,生成一个class文件
-
运行class文件,java Hello
注释
-
单行注释://,快捷键:Ctrl + /
-
多行注释:/**/
-
文档注释:
/** * @author wzjstart * @create 2023-03-16 10:47 */
关键字
标识符
- 所有的标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开始
- 首字符之后可以是字母(A-Z或者a-z),美元符($),或者下划线(_)或数字的任何字符组合
- 不能使用关键字作为变量名或方法名
- 标识符是大小写敏感的
- 可以使用中文命名,但一般不使用,也不建议使用拼音
数据类型
-
强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用(java)
-
弱类型语言:与强类型语言相反
java的数据类型分为两大类:
- 基本类型(primitive type)
- 引用类型(reference type)
类型名称 | 关键字 | 对应的包装类型(引用类型) | 占用数 | 数值范围 | 默认值 |
---|---|---|---|---|---|
字节型 | byte | Byte | 1字节 | -128~127 | (byte)0 |
短整型 | short | Short | 2字节 | -215~215-1 | (short)0 |
整形 | int | Int | 4字节 | -231~231-1 | 0 |
长整型 | long | Long | 8字节 | -263~263-1 | 0L |
单精度浮点型 | float | Float | 4字节 | IEEE754 | 0.0f |
双精度浮点型 | double | Double | 8字节 | IEEE754 | 0.0d |
字符型 | char | Character | 2字节 | Unicode 0~2^16-1 | "\u0000"(null) |
布尔型 | boolean | Boolean | ---- | ------ | false |
byte,short,char -> int ->long ->float ->double
不同类型的数据先转化成为同一类型,然后在运算
字节
位(bit):是计算机内部数据存储的最小单位,11001100是一个八位二进制数。
字节(byte):是计算机中数据处理的基本单位,习惯用B来表示。
1B(byte,字节) = 8 bit (位)
字符:是指计算机中使用的字母、数字、子和符号
- 1bit表示1位
- 1Byte表示一个字节
- 1024B = 1KB
- 1024KB = 1MB
- 1024MB = 1GB
数据类型转换时的问题
- 不能对布尔值进行转换
- 不能把对象类型转换成不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出,或者精度问题
变量和常量
变量
-
Java是一种强类型语言,每个变量都必须声明其类型
-
Java变量是程序中最基本的存储单元,包括了三要素:
变量名
变量类型
作用域:
-
String s = "hello"; //实例变量,从属于对象,可以被创造出来的对象调用
-
static int money = 0 ; // 类变量,加了static,类里面的方法都可以引用。
-
public void method(){ int i = 0; // 局部变量,必须声明和初始化值 }
-
变量命名规范
- 所有变量、方法、类型:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Student
- 方法名:首字母小写和驼峰原则:goodTeacher()
常量
- 初始化后不能在改变值!不会变动的值
- final 常量名 = 值
- final double PI = 3.14;
- 常量名一般使用大写字母
运算符
-
算术运算符:+,-,*,/,%(取余),++,--
-
i = 3; a = i++;先执行i = i + 1 , a = 4 , i = 4 b = ++i;先执行b = i , b = 3 , i = 4 i--,--i同理
-
-
赋值运算符 =
-
关系运算符 > , < , >= , <= , == , != , instanceof(判断左边对象是否由右边类或其子类所创造
-
逻辑运算符: && , || , ! (与或非)
- 短路运算,当&&前面为假,则不会运行&&后面的程序
-
位运算符:& , | , ^ , ~ , >> , << , >>>
-
&(与):有0为0,全1才为1
-
| (或):有1为1,全0才为0
-
^(异或):相同为0,不同为1
-
<<(往左移动n位),>>(往右移动n位)
-
~(非):跟原来相反
int a = 0b0011_1100; int b = 0b0000_1101; /* a&b = 0000_1100 a|b = 0011_1101 a^b = 0011_0001 ~b = 1111_0010 */ System.out.println( 2 << 3 ); // 16 System.out.println( 64 >> 1); // 32
-
-
条件运算符 ? :
-
x ?y :z,如果x==true,则为y,否则为z
int score = 90; String s1 = (score > 60 ? "合格" : "不合格"); System.out.println(s1); // 合格
-
-
拓展赋值运算符:+= , -= , *= , /=
- 工具类:MATH
包机制
- 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。
- 一般利用公司域名倒置作为包名;
- www.baidu.com --> com.baidu.www
- 为了使用某一包成员,我们需要导包,使用“import”关键字
javaDoc
javadoc -encoding UTF-8 -charset UTF-8 doc.java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!