java笔记

这篇博客详细介绍了Java的基础知识,包括环境变量的配置,如JAVA_HOME和classpath,以及Java的运行机制。接着,文章深入讲解了变量的概念、定义流程和类型,强调了Java作为强类型语言的特点。此外,还讨论了各种数据类型,如整数、浮点数、布尔和字符,以及字符串和类型转换。最后,简单介绍了运算符的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java基础:

一、环境变量

### 1、变量:系统属性;

变量名----变量值 ​

path ----jdk安装目录里的bin;可以任意的路径访问命令;

​ %JAVA_HOME%\bin ​ C:\Program Files\Java\jdk1.8.0_51\bin

JAVA_HOME---jdk的根目录, C:\Program Files\Java\jdk1.8.0_51

classpath: 类路径;----自从jdk1.5版本后可以不用配;

.;%JAVA_HOME%\lib;

JDK目录;JDK的bin目录:存放的是exe文件,可称为执行文件;

jdk版本号:java -version

2、java运行机制

JDK:开发工具和类库、包含了jre

JRE:运行环境,包含了jvm

JVM:虚拟机,不同操作系统模拟相同的环境;.java编译生成.class

一次编写,多次执行;

 定义一个源文件.java文件;
 经过虚拟机的编译,生成.class字节码文件;---机器码文件
 运行执行class文件;可以执行多次;
     A.java源文件-->A.class字节码文件
     对A.java内容做了修改,需要再次编译,重新生成字节码文件;

二、变量

1、概念:

计算机内存中得一块存储空间,是存储数据的基本单元.

2、变量的定义流程:

(1)、 声明:数据类型 变量名;

int num;// 声明一个整数类型的num

(2)、赋值: 变量名 = 值;

num = 100; // 将100赋给变量num

(3)、输出打印:

System.out.println(num);

注意:Java是强类型语言,变量的类型必须与数据的类型一致。

3、变量的定义方式

(1)、声明变量的3种方式:

先声明,再赋值【常用】: 数据类型 变量名;

变量名 = 值;

声明并赋值【推荐】: 数据类型 变量名 = 值;

多个同类型变量的声明与赋值:

数据类型 变量1 = 值1,变量2 = 值2,变量3 = 值3;

(2)、数据类型

java中的变量具有严格的数据类型区分。(强语言类型)

在java语言中,任何一个值,都有其对应类型的变量。

(3)、基本数据类型(整数) :

类型字节取值范围(二进制)取值范围(十进制)
byte1字节-2^7 ~ 2^7 - 1-128 ~ 127
short2字节-2^15 ~ 2^15 - 1-32768 ~ 32767
int4字节-2^31 ~ 2^31-1-2147483648 ~ 2147483647
long8字节-2^63 ~ 2^63 - 1-9223372036854775808 ~ 9223372036854775807

注意:int为整数的默认类型,如需为long类型赋值较大整数时,需要在值后面追加“L" .

(4)、基本数据类型(浮点数) :

类型字节负数取值范围正数取值范围
float4-3.4E ~ -1.4E-451.4E-45 ~ 3.4E+38
double8-1.7E+308 ~ -4.9E-3244.9E-324 ~ 1.7E+308

浮点型数值采用科学计数法表示:

2E3等价于2*10^3 (结果:2000.0)

注意:double为浮点数的默认类型,如需为float类型赋值时,需要在值得后面追加”F“

(5)、基本数据类型(布尔) :

类型字节取值范围描述
boolean1trun / false仅可描述”真“或者”假“

可直接赋值true / false

也可赋值一个结果为true / false得表达式

注意:java中得boolean不能参与算术运算

(6)、基本数据类型(字符) :

类型字节取值范围字符编码
char20 ~ 65535Unicode字符集(万国码 / 统一码)

Unicode中每个字符都对应一个二进制整数,可以使用多种方式赋值。

字符赋值:char c1 = 'A' ;(通过 ' ' 描述为字符赋值)

整数赋值:char c2 = 65 ; (通过十进制数65在字符集中对应的字符赋值) 65对应的字符是A,故输出A

 public class Test{
     public static void main(String[]args){
         char c1 = 65;
         char c2 = 'A';
         char c3 = '\u0041';
         char  c4 = '65'; // 错误,字符只能有一个
         System.out.println(c1);// A
         System.out.println(c2);// A
         System.out.println(c3);// A
     }
 }

进制赋值:char c3 = '\u0041' ; (通过十六进制数41在字符集中所对应得字符赋值)

(7)、转义字符

转义字符描述
\n换行符
\t缩进(制表符)
\ \反斜线
\ '单引号
\ ''双引号

(8)、引用数据类型

类型取值范围字符编码
String任何" "之间的字面值Unicode字符序列

String类型的字面取值:

String str1 = ”Hello“;

String str2 = "你好";

(9)、类型转换

自动类型转换:

俩种类型相互兼容。

目标类型大于原类型。(小转大自动转)

 public class Test{
     public static void main(String[]args){
         short s = 123;
         int i = s;// 自动转换成功
     }
 }

强制类型转换:

俩种类型相互兼容。

目标类型小于源类型。(大转小,强制转)

 public class Test{
     public static void main(String[]args){
         short s = 123;
         byte b = s;// 转换失败,byte小于short
         
         short s1 = 123;
         byte b1 = (byte)s1;//转换成功
     }
 }

强制类型转换规则:*

整数长度足够,数据完整。

例: Int i = 100; byte b = (byte)i ; //b = 100

整数长度不够,数据截断。

例:int i =10000; byte b = (byte)i ; //b = 16(符号位变化,可能变为负数)

小数强转整数,数据截断。

例: doule d = 2.5; int i = (int)d; // i = 2 (小数位舍掉)

字符整数互转,数据完整。

例:char c = 65; int i = c ; // i = 65

boolean的取值为true / false,不可与其他类型转换。

(10)、自动类型提升:

进行算数运算时:

俩个操作数有一个为double,计算结果提升为double

如果操作数中没有double,有一个为float,计算结果提升为float

如果操作数中没有float,有一个为long,计算结果提升为long

如果操作数中没有long,有一个为int ,计算结果提升为 int

如果操作数中没有int,均为short或byte,计算结果仍旧提升为int

特殊:任何类型与String相加(+)时,实为拼接,其结果自动提升为String。

三、运算符

算术运算符:俩个操作数进行计算

操作符描述
+加,求和
-减,求差
*乘,求积
/除,求商
%模,求余

算术运算符:一元运算符(只有一个操作数)

操作符描述
+ +递增,变量值+1
- -递减,变量值-1

赋值运算符:等号右边赋值给等号左边

操作符描述
=直接赋值
+ =求和后赋值
- =求差后赋值
* =求积后赋值
/ =求商后赋值
% =求余后赋值

关系运算符:俩个操作数进行比较

操作符描述
>大于
<小于
> =大于等于
< =小于等于
= =等于
! =不等于

逻辑运算符:俩个boolean类型的操作数或表达式进行逻辑比较

操作符语义描述
&&与(并且)俩个操作数,同时为真,结果为真
||或(或者)俩个操作数,有一个为真,结果为真
非(取反)意为:不是,真--》假 假--》真

三元运算符:将判断后的结果赋值给变量

操作符语义描述
?:布尔表达式?结果1:结果2当表达式为真时,结果为1;当表达式为假,结果为2.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值