Java-初学

目录

一、JDK、JRE、JVM分别是什么

(一)JDK

(二)JRE

(三)JVM

 二、JDK、JRE、JVM之间的关系

三.数据类型

1.基本数据类型(四类)

四.IDEA项目结构介绍

五.JAVA开发环境搭建

六.运算符

1.一元运算符

2.赋值运算符

3.关系运算符

4.逻辑运算符

5.三元运算符


一、JDK、JRE、JVM分别是什么


(一)JDK

JDK,全称Java Development Kit,是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的Java应用程序。JDK是整个Java开发的核心。

(二)JRE

JRE,全称Java Runtime Environment,是指Java的运行环境,是可以在其上运行、测试和传输应用程序的Java平台。

(三)JVM

JVM,全称Java Virtual Machine(Java虚拟机),是一种用于计算设备的规范,它是一个虚构出来的计算机,引入JVM后,Java语言在不同平台上运行时不需要重新编译。JVM是Java跨平台的核心。

 
二、JDK、JRE、JVM之间的关系

JDK包含了Java的运行环境(即JRE)和Java工具。JRE包含了一个Java虚拟机(JVM)以及一些标准的类别函数库。总的来说,JDK、JRE、JVM三者都处在一个包含关系内,JDK包含JRE,而JRE又包含JVM。

具体地讲:

JDK = JRE + 开发工具集(例如Javac编译工具等)

JRE = JVM + Java SE标准类库
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/jy_cai/article/details/116402560

三.数据类型

1.基本数据类型(四类)

整数:byte,short,int,long

其中,byte的取值范围为-128到+127

浮点数:float,double

字符:char

布尔:boolean

四.IDEA项目结构介绍

1.project(项目)

2.module(模块)

3.package(包)

4.class(类)

举例:微信可以看做一个项目,底部的消息,通讯录等等为一个模块,在消息模块中,包就是文件夹,在包中会写很多文字图片动画,需要代码去写,把相同功能代码放在一个包

项目>模块>包>类

源代码>编译器>字节码>JVM

前两部分属于开发,后两部分属于运行,

五.JAVA开发环境搭建

配置 JDK 环境变量的核心作用是让操作系统和开发工具 “自动找到” JDK 的工具和资源,从而简化开发流程、确保 Java 程序正常编译和运行。它是 Java 开发的基础操作,也是跨平台运行 Java 程序的前提(Java 的 “一次编写,到处运行” 依赖于 JDK 环境的正确配置)。

配置 JDK 时,通常需要设置以下几个关键环境变量(以 Windows 系统为例):

  • JAVA_HOME:指向 JDK 的根目录(如C:\Program Files\Java\jdk1.8.0_301),用于告诉开发工具 “JDK 的安装位置”。
  • Path:在原有的Path变量中添加%JAVA_HOME%\bin(Windows)或$JAVA_HOME/bin(Linux/Mac),用于让操作系统识别javacjava等命令。
  • CLASSPATH(可选,Java 5 + 后逐渐不再需要):指定 Java 类的加载路径,告诉 JVM 去哪里寻找编译后的.class文件。

六.运算符

1.一元运算符

一个元素参与运算:++,--

前置++与后置++的区别:

*前置--与后置--同比

2.赋值运算符

=,+=,-=,*=,/=,%=

3.关系运算符

比较两个数据之间关系的运算符

==,!=,>,>=,<,<=

关系表达式的结果为布尔类型(true或false)

4.逻辑运算符

用于描述多个条件表达式之间的关系的运算符,结果的变量的类型仍为布尔类型。

a.&(与运算)遇假为假

只有当两个结果都为true,最终结果为true,其他情况为false。

b.|(或运算)遇真为真

只要其中有一个为true,那么结果就为true。

c.&&(短路与运算)||(短路或运算)

会根据第一个条件表达式的结果来判断,是否执行第二个表达式。

d. !(非或相反运算)

5.三元运算符

基本语法结构

(条件表达式)?(任意表达式1):(任意表达式2)

若条件表达式中结果为true,则执行表达式1;若条件表达式中结果为false,则执行表达式2.

七.流程控制

1.顺序执行

代码出现的先后顺序以及语法的先后顺序执行

2.分支执行

a.if关键字(单分支)

当if条件不成立时,如下:

b.if...else关键字(双分支)

c.if...else if...else关键字(多分支)

d.switch关键字(特殊多分支)

各类情况如下:

3.重复执行(循环执行)

根据条件重复执行某段代码

a.while

while(条件表达式){需要循环的代码}

先判断再打印

b.do...while

do {

循环代码

}while(条件表达式)

先打印后判断

c.for

for(初始化表达式;条件表达式;更新表达式){

循环的代码

}

d.break和continue语句

break:跳出

continue:跳过

八.数组

1.介绍

相当于一个容器,可以存储同种数据类型的多个值。

2.数组定义

数据类型   数组名[]

例:int  a[ ]

3.数组初始化

a.静态初始化

数据类型 [ ]  数组名= {元素1,元素2,元素2};

b.动态初始化

1)定义

初始化时只指定数组长度,由系统分配数组的初始值

2)格式

数据类型[ ]  数组名 = new  数据类型 [ 数据长度 ]

c.静态与动态初始化区别

4.数组的地址值

a.表示数组在内存中的位置

b.地址值的格式含义

[  :表示数组

I  :表示数据类型为int

@:表示一个间隔符号

6d03e736:真正的地址值(十六进制)

5.数组元素访问

a.格式

数组名[索引]

!!索引:下标或角标

!!索引的特点:从0开始,逐个加1,连续不间断

6.数组遍历

a.介绍

数组遍历:将数组中的所有内容取出来,取出来之后可以(打印,求和,判断)

b.练习1

题目:定义一个数组,存储1,2,3,4,5,遍历数组得到每一个元素,求数组里面所有的数据和。

c.练习2

题目:定义一个数组,存储1,2,3,4,5,6,7,8,9,10,遍历数组得到每一个元素,统计数组里一共有多少个能被三整除的数。

d.练习3(变化数据)

题目:定义一个数组,存储1,2,3,4,5,6,7,8,9,10,遍历数组得到每一个元素。

要求:如果是奇数,则将当前数字扩大两倍

           如果是偶数,则将当前数字变为二分之一。

7.数组常见问题

a.索引越界异常

8.数组常见操作

a.求最值

题目:已知数组元素为{11,22,33,44,55},找出数组中的最大值并打印在控制台上。

b.遍历数组求和

题目:生成10个1-100的随机数,求其所有数据和以及平均数,再统计有多少个数据比平均值小.

c.交换数据

题目1:定义一个数组,存入1,2,3,4,5,按照要求交换索引对应的元素.

交换前:1,2,3,4,5

交换后:5,2,3,4,1

 注释:交换首尾索引对应的元素

题目2:定义一个数组,存入1,2,3,4,5,反向输出打印.

d.打乱数据

题目: 定义一个数组,存入1,2,3,4,5,要求打乱数组中所有数据的顺序。

os:,Random 类属于 java.util 包,使用时需要通过 import java.util.Random; 语句显式导入该类,否则编译器无法识别 Random 这个类。

9.数组的内存图

a.Java内存分配

b.两个数组指向同一个空间的内存图

10.二维数组

a.静态初始化和遍历

b.动态初始化

c.内存图

d.例子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值