java01 一、jdk以及java基础语法

1. Java概述

 1.1 java语言发展史

语言:人与人交流沟通的表达方式

计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言

Java语言是美国Sun公司在1995年推出的计算机语言

2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官网即可:https://www.oracle.com

当前,我们课程使用的JDK版本:11.0

1.2 Java语言跨平台原理(理解)

平台是指操作系统(windows、Linux、Mac)。

Java编译器将Java源程序编译成与平台无关的字节码文件(class文件),然后由Java虚拟机(JVM)对字节码文件解释执行。所以在不同的操作系统下,只需安装不同的Java虚拟机即可实现java程序的跨平台。

1.3 JRE和JDK(记忆)

 JVM(Java Virtual Machine),Java虚拟机

JRE(Java Runtime Environment),Java运行环境,包含了JVM和Java的核心类库(Java API)

JDK(Java Development Kit)称为Java开发工具,包含了JRE和开发工具。

开发工具包含编译工具javac.exe和运行工具java.exe。

总结:我们只需安装JDK即可,它包含了java的运行环境和虚拟机。

1.4 JDK的下载和安装(应用)

 1.4.1 jdk下载

官方网站下载http://www.oracle.com

注意:针对不同的操作系统,需要下载对应版本的JDK。

1.4.2 安装

傻瓜式安装,下一步即可。

但默认的安装路径是在C:\Program Files下,为方便统一管理建议修改安装路径,将与开发相关的软件都安装到一个目录下,例如:E:\develop。注意:安装路径不要包含中文或者空格等特殊字符(使用纯英文目录)。

2.程序的开发配置

2.1 常用Dos命令

打开dos窗口:按下Win+R,输入cmd,回车

2.2 Path环境变量的配置

2.2.1 为什么配置环境变量

开发Java程序,需要使用JDK提供的开发工具(比如javac.exe、java.exe等命令),而这些工具在JDK的安装目录的bin目录下,如果不配置环境变量,那么这些命令只可以在该目录下执行。我们不可能把所有的java文件都放到JDK的bin目录下,所以配置环境变量的作用就是可以使bin目录下的java相关命令可以在任意目录下使用。

2.2.2 配置环境变量步骤

系统变量

新建JAVA_HOME,配置jdk的安装目录E:\develop\java\jdk-11。

找到path变量编辑,追加%JAVA_HOME%\bin

2.2.3 如何验证

关闭配置之前的dos,重打开dos,才生效。

使用命令java或者javac验证

说明:不配置环境变量在dos窗口使用java命令需要带上jdk的安装目录才能使用,例如E:\develop\java\jdk-11\javac

2.3 HelloWorld案例

编译:javac 文件名.java

运行:java 类名

2.4 Notepad的安装

 设置-首选项-新建(编码选ANSI、默认语言选java)

3.java基础语法

3.1 数据类型

 计算机中最小的存储单位是位bit(b),而基本的存储单位字节Byte(B)

1B=8bit     1Kb=1024B

3.2 Java中的数据类型

Java是一个强类型语言,Java中的数据必须明确数据类型。在Java中的数据类型包括基本数据类型和引用数据类型两种。

 

基本数据类型{数值型:整数(byte 1个字节、short 2、int 4、long 8)、

浮点数(float 4、double 8)

字符(char 2)}

{非数值型:布尔 1}

引用数据类型:String、类class、接口interface、数组[].

说明:

(1)、在栈中可以直接分配内存的数据是基本数据类型。

引用数据类型:是数据的引用在栈中,但是他的对象在堆中。

(2)、在java中整数默认是int类型,浮点数默认是double类型

定义float a=12.34F,必须加F或f,否则默认是double

定义long b=123L,必须加L或l。否则默认是int

3.3赋值运算符

3.3.1 类型转换

算数表达式中包含多个基本数据类型时,整个表达式的类型会自动提升。

提升规则:

Byte-short-int-long-float-double

 Char-int

Short a=1;a=a+20;报错

应该是a=(short)(a+20)

a+=20;对

扩展的赋值运算符,底层隐含了强制类型转换。{*= /= += -= %=}

3.4 自增自减运算符

++ -- 变量加减1

(1)单独使用,++放变量的前后边,结果一样

int i=1; i++; ++i;

(2)、参与操作时,++放变量前面,先拿变量++,再拿变量参与操作;

放后面,先拿变量参与操作,再拿变量做++.

int j=++i;  j--2 i—2

int j=i++;   j—1 i—2

 

3.5逻辑运算符

3.5.1 基本的逻辑运算符

&逻辑与 |逻辑或 !逻辑非

3.5.2 短路逻辑运算符

&&短路与 ||短路或

&&左边为假,右边不执行

||左边为真,右边不执行

 

4. 标识符(记忆、理解)

标识符是用户编程时使用的名字,用于给类、方法、变量、常量等命名。

Java中标识符的组成规则:由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字。不能使用java中的关键字作为标识符。标识符对大小写敏感(区分大小写)。

Java中标识符的命名约定:

小驼峰式命名:变量名、方法名。首字母小写,从第二个单词开始每个单词的首字母大写。

大驼峰式命名:类名。每个单词的首字母都大写。

5.条件控制语句

 

continue用在循环中,跳过某次循环内容,继续下一次。

break用在循环中,终止循环内容的执行,结束当前的整个循环

for(int i=1;i<4;i++){

  if(i==2){

continue; ---1,3

break;----1

}

system.out.println(i);

}

 

5.1 Random产生随机数(掌握)

概述:Random类似Scanner,也是Java提供好的API,内部提供了产生随机数的功能API后续课程详细讲解,现在可以简单理解为Java已经写好的代码使用步骤:1. 导入包import java.util.Random;2. 创建对象Random r = new Random();3. 产生随机数int num = r.nextInt(10);解释: 获取的数据范围是[0,9]中的一个随机数

5.2递归

递归求阶乘

…… main(){ int result=jc(3)}

public static int jc(int n){

  if(n==1){return 1;}

else{ return n*jc(n-1);}

}

6.内存分配【理解】

6.1内存概述

内存是计算机中的重要原件,临时存储区域,作用是运行程序。我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的。必须放进内存中才能运行,运行完毕后会清空内存。Java虚拟机要运行程序,必须要对内存进行空间的分配和管理。

6.2java中的内存分配

(1)栈内存:基本类型的变量和对象的引用变量。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。

 

(2)堆内存:存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。

6.3 数组

6.3.1 数组的初始化

(1)动态初始化

初始化时,只定义数组的长度

格式:数据类型[] 变量名=new 数据类型[长度]

(2)静态初始化

格式:数据类型[] 变量名=new 数据类型 [] {数据1,数据2}

简化:数据类型[] 变量名= {数据1,数据2}

注意:数组在初始化时,会有默认值

     { 整数:0 浮点数:0.0 布尔: false 字符:空字符 引用类型:null}

6.4 方法概述

6.4.1方法格式

public static 返回值类型 方法名(参数) {

  方法体;    return 数据 ;}

6.4.2方法重载

 

方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载

(1)多个方法在同一个类中

(2)多个方法具有相同的方法名

(3)多个方法的参数不相同,类型不同或者数量不同

注意:重载仅对应方法的定义,与方法的调用无关,与返回值无关

 

 

 

 

posted @   烁妈妈  阅读(119)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示