Javajr

article/2025/9/23 7:30:49

第一章 计算机基础

1.1 计算机的结构体系

通过CPU的控制器将输入设备中数据读取到CPU中的存储器中,然后通过运算器将存储器的数据进行运算,最后再有控制器将运算器的结果显示到输出设备中。 这个结构我们称之为冯诺依曼体系结构

第二章 Java基础环境搭建

2.1Java技术体系

  • JDK : java development kit java开发工具包,作为程序员需要安装的就是JDK。里面包含了JRE + 工具集 ;
  • JRE: java runtime environment java运行时环境,如果你在自己的电脑上想要运行一个java程序,必须要保证存在JRE。JRE中包含了JVM+Libs类库信息;
  • JVM : java virtual machinejava虚拟机,这个东西是一个 虚拟的 计算机 。这个虚拟的计算机是用来专门处理.class(字节码文件 / bytecode文件 )文件的。它是Java跨平台的基础。

2.2 Java跨平台

程序员编写.java程序 ,然后通过编译器将.java编译为对应的.class字节码文件,然后电脑上都会安装JDK, 所以电脑上会存在JVM,JVM获取到用户发送的字节码文件之后,开始解释执行字节码文件。执行过程就是将字节码文件解释为对应平台上可以识别的汇编指令或者是机器码。

第三章 第一个HelloWord

3.1 下载安装编辑工具

常用工具下载链接
editor Plushttps://www.editplus.com/download.html
UE
sublimehttps://www.sublimetext.com/download
notpad

3.2.2 修改文件名称

public class HelloWord{public static void main (String[]args){System.out.println("hello Word")}
}

3.3运行程序

打开DOS程序

编译以及运行一个Java程序

第四章 第一个程序常见的问题

4.1常见的问题归类

  • 错误分类

    • 编译期间发生的错误
      • 单词拼写 (多敲)
      • 中英文符号问题 (全部是英文符号)
      • 当一个类被public修饰了之后,就是主类,主类的名称要和文件的文件名保持一致
      • 大小写问题
    • 运行时发生的错误
      • main方法的定义不要写错了 (最常写错的就是main)

Tips: 如果你修改了源代码(.java)文件中的内容,一定要记得保存,并且重新编译。

第五章 Java基础知识

5.1 注释

解释说明的文字信息 用来让别人能够看懂你程序的。

// 测试使用注释
public class Annotation{public static void main(String[] args){/*用来原样打印输出 hehehehehehehe System.out.println --> 打印 将内容显示在控制台上"" --> 原样输出*/System.out.println("hehehehehehehe");}
}
注释分类编写格式注意事项
单行注释// 注释内容只能注释一行内容
多行注释/* 注释内容 */可以编写多行注释信息
文档型注释/** 注释内容 */不能和多行注释嵌套使用 它可以用来生成帮助文档。

Tips: 注释是一个源码期的行为,在编译之后注释信息就不存在了。

5.2 标识符

Java中用来给各个类、变量、常量、接口等等起名字的。 标注 识别的符号

3 个规则 (不能打破的)

  • 不能以数字开头 以字母、下划线**_** 、美元符号**$** 开头 后跟 字母、下划线**_** 、美元符号**$** 或者数字
  • 严格区分大小写
  • 不能是Java中的****关键词

2 个标准 (约定俗称的不建议打破)

  • 见名知意 (我们希望命名的时候能够通俗易懂一点)

  • 驼峰原则 (单词长、多 --> 严格区分大小写)

    • 类: 每个单词的首字母均要大写 usercontroller --> UserController

1 个注意事项 (笔试题目)

  • Java采用的字符集合是Unicode,所以我们这里所说的字母不是26个英文字母,它代表的是各个国家字符信息。 这里我们需要记住的是可以使用中文命名。

以下能够作为标识符的有(B、C、E、F)

A:class B:张三 C:hangZ D: void E: _11 F:$12

5.3 关键词

Java中比较关键单词,这些单词Java已经规定其用法,所以关键词是不能作为标识符的。
tips: 关键词和保留字其实是有一定区别的。

保留字 : Java中的保留字只有两个 goto const ,其他语言的剩余部分。

5.4 字符集合

随着时间的推演,越来越多的国家开始使用自己的字符集合,用来让计算机可以识别自己国家的字符信息,所以字符集合越来越多。

字符集合在数据传递中的作用
每一次用户在输入字符信息或者进行数据传递的时候,都需要做查表操作,也就是我们说的字符信息需要转换为对应的数字信息被存储到计算机中,那么如果在数据传递过程中,表是不一致,就会造成乱码问题。解决方式就是保证字符集合统一

字符集合造成的问题以及解决方案

前提,当我们自己编写的代码通过utf-8进行编码,但是CMD中的默认编码格式是GBK,所以造成在显示输出的时候会出现乱码。

第六章 变量vs常量

6.1 变量

在程序运行期间,其值可以发生改变的计量单位。

目前现阶段我们不知道数据类型的情况下,所有的变量统一类型 int

6.1.1 变量声明以及使用

变量声明的格式 variable_type name

将10这个字面值赋值给int类型的变量n存储

// 测试使用变量  声明以及使用
public class VariableInit{public static void main(String[] args){// 声明一个变量  type name;int n; // 初始化  给n这个变量赋值n = 10; // 将10这个字面值赋值给int类型的变量n存储  背// 使用变量System.out.println(n); // 将n变量的中值瞜一眼}
}

Tips: 变量声明完成之后无法直接使用,想要使用必须要保证初始化,初始化的方式就是通过= 进行赋值动作。

6.1.2 变量使用问题

// 使用变量 的注意事项
public  class VariableUseing{public static void main(String[] args){//1: 声明一个变量  声明和初始化放在了一行语句中执行// 每行语句的;代表该行语句结束了int n = 10; // 将字面值10赋值给int类型的变量n存储 System.out.println(n);//2:重新给变量进行赋值n = 20;System.out.println(n);//3:重新定义一个变量 nint n = 5;// 在main方法中不能定义同名变量}
}

6.1.3 变量的三要素

第一要素: 变量类型

第二要素: 变量名

第三要素: 生命周期、作用范围

Tips: 关于Java语言,它是一门强类型语言(所有的变量具备类型,所有的数据具备类型)。

6.2 数据类型

Java是强类型语言,所以它对于所有数据都限定了具体的类型,一共分为以下几类:

6.2.1 数据类型分类

在这里插入图片描述

6.2.2 整数

I、字节型 Bety

// 测试byte数据类型
public class ByteTest{public static void main(String[] args){//1: 测试byte这种数据类型他能够存储的范围// 声明一个byte类型的变量 存储数值byte b = 100;// 打印输出System.out.println(b);// 修改b的值的/*ByteTest.java:14: 错误: 不兼容的类型: 从int转换到byte可能会有损失b = 128;*/b = 128;System.out.println(b);}
}
数据类型占用空间表数范围
字节型 byte1个字节 1B = 8b[-128,127]

Tips: byte数据类型能够标识的数据的范围有限,大家在使用的是有一定要注意存储数据的值不要超过byte范围。

II、短整型 Short

// 测试short数据类型
public class ShortTest{public static void main(String[] args){// 声明一个short类型的变量 存储数值short b = 128;// 打印输出System.out.println(b);// 修改short的值/*ShortTest.java:12: 错误: 不兼容的类型: 从int转换到short可能会有损失b = -32769;^1 个错误*/b = -32769;System.out.println(b);}
}
数据类型占用空间表数范围
短整型 short2个字节 2B = 16b[-32768,32767]

Tips: JDK11 它允许直接通过java命令执行一个.java文件,而且不会生成对应的字节码文件。但是有个前提(java中的代码是简单代码)。

> java .java文件 ## 就可以直接运行该程序了。

III、整型 Int

// 测试int数据类型
public class IntTest{public static void main(String[] args){// 声明一个int类型的变量 存储数值int b = 32768;// 打印输出System.out.println(b);//修改变量b的值/*IntTest.java:12: 错误: 整数太大b = 2147483648;^1 个错误*/b = 2147483648;System.out.println(b);}
}
数据类型占用空间表数范围
整型 int4个字节 4B = 32b±21亿左右

Tips: 一般情况下在使用整数的时候优先使用int。

IV、长整型 Long

// 测试long数据类型
public class LongTest{public static void main(String[] args){// 声明一个long类型的变量 存储数值long b = 2147483647;// 打印输出System.out.println(b);// 重新给b赋值/*LongTest.java:12: 错误: 整数太大b = 2147483648;^1 个错误*/b = 2147483648L;System.out.println(b);}
}
数据类型占用空间表数范围
长整型 long8个字节 8B = 64b灰常灰常大 [ −2的63,2的63−1]

Tips:
1: 在java中所有整数的字面值(1,2,123) 默认类型是int;
2: 当我们将一个int的字面整数赋值给byte、short类型的变量的时候,如果没有超过byte、short的范围可以正常赋值成功,但是如果超过了那么此时会报错,因为=赋值符号右侧是一个大类型的值,左侧是一个小类型,放不下,所以报错信息 不兼容的类型: 从XX类型转换到XX类型可能会有损失。
3:当我们要赋值一个超过了int范围的字面值给long类型的变量时候,需要给字面值后面加l或者是L(推荐);

V、整数的赋值方式


// 测试整数的赋值方式
public class InitValue{public static void main(String[] args){//1: 正常赋值 10进制数int num = 90;System.out.println(num);//2: 可以通过二进制进行赋值  JKD7之后的num = 0B11011; // 以0B 0b 开头System.out.println(num);//3: 可以通过8进制进行赋值  num = 043; //以 0开头System.out.println(num);//4: 可以通过16进制进行赋值  //A:10 B:11 C:12 D:13 E:14 F:15num = 0x2CF; //以 0x oX开头  System.out.println(num);// 为了能好看一点赋值时 字面值中可以通过_分割// JDK7之后num = 123_456_789;System.out.println(num);}
}

VI、 整数的进制转换

在这里插入图片描述

VII、整数的储存方式

  • 无符号整数按其二进制的形式直接存储
  • 有符号整数按其补码的形式存储

6.2.3 小数

扩展知识:
在计算机中,小数的存储有两种方式,一种称之为定点数,一种称之为浮点数
定点式: 小数点在存储的时候固定位置 更加精准的 浪费内存
浮点数: 小数点在存储的时候不固定 精准度差一点 但是节省内存

I、双精度 double


// 测试double类型的变量
public class DoubleTest{public static void main(String[] args){//1: 声明一个double类型的小数double d = 3.14;System.out.println(d);//2:  测试小数的问题  不要使用小数进行四则运算System.out.println((0.6*10-0.5*10)/10); //0.09999999999999998}
}
数据类型占用空间精度范围
双精度 double8个字节14位左右

Tips:
1: 进行运算的过程中,小数有几个特殊的值:Infinity -Infinity NaN

2:NaN是一个状态信息,0是不可以作为除数的 所以下面式子是不合法的,但是在计算机中0是无法通过小数进行精确表示的 所以 理论上而言这个0.0/0.0合理的 通过NaN描述了这种合法但是不合理的状态 NaN是一个数字 not a number

3:我们在进行小数运算的时候一定要特别注意,因为计算机描述小数时不精准的,所以我们采用的解决方案是:

  • 扩大和缩小倍数
  • 使用BigDecimal完成小数运算(定点数)

4:如果遇到了精确度要求比较高的需求,解决方案,要么使用BigDecimal还有一种就是降低单位。

II、单精度 float

数据类型占用空间精度范围
单精度4个字节7位左右

在Java中所有的小数字面值都是double类型,当把一个小数赋值给float类型变量的时候,需要在给这个字面值后面加f 或者是F。

III、小数的存储方式

小数在内存中是以浮点数的形式存储的。浮点数并不是一种数值分类,它和整数、小数、实数等不是一个层面的概念。浮点数是数字(或者说数值)在内存中的一种存储格式,它和定点数是相对的。

IV、小数的转换进制

在这里插入图片描述

6.2.4 boolean 逻辑性 布尔

数据类型占用空间取值
boolean 逻辑性1个字节 实际只需要1btrue(1) false(0)

在Java中所有的小数字面值都是double类型,当把一个小数赋值给float类型变量的时候,需要在给这个字面值后面加f 或者是F。
补充知识:
在dos命令中,当前所在位置和当前要执行的类不再同一路径下,通过java -cp指定类所在的路径。具体做法如下:
编译的.class文件在c:\Users\laoxue目录下
c:\Users> java -cp laoxue HelloWorld
ps: 会在c:\Users\laoxue这个路径下去执行HelloWorld这个类

6.2.5 字符型

数据类型占用空间取值
char 字符型2个字节1、单引号引起的单个字符2、通过一个正整数赋值 [0,65535] 3、通过\u开头后一个4位的16进制数 Unicode代码点

6.2.6 类型转换

在任何编程语言中,不同的数据类型之间是可以互相转换的。 不会管基本数据类型的类型转换,我们用的最多的是引用类型的类型转换。

  • 自动类型转换
    小变大 自动转
    a:在四则运算的过程中,类型会自动提升。
    b:如果字面值在做四则运算,那么编译阶段会确定这个字面值以及类型 (常量折叠),但是如果存在变量的做四则运算的话,那么只能确定类型,不能确定值。
    在这里插入图片描述

  • 强制类型转换
    大变小 需强转
    小类型 = (小类型)大类型;
    强转过程中,会使得值发生改变,所以应该小心使用。

6.3 常量

在程序运行期间,其值不可以发生改变的计量单位。
通过final修饰的变量称之为常量,常量在整个程序的值是不可以修改的。
分类:
自定义常量
字面值常量:
整数常量: -5, 0,100
小数常量: -3.3, 0.14
布尔常量:ture,false
字符常量:’ ’ , ’ a ’
空常量:null
字符串常量: " " " abc " “中国”

6.4 关于DOS命令

学习linux之前稍微看一下这部分内容

6.4.1 操作系统的分类

在这里插入图片描述

6.4.2 DOS系统

  • 内部命令

安装完操作系统之后,操作系统会将自己的一些命令内置到当前的DOS系统中。

  • 外部命令
  • 安装其他程序之后,将程序本身的命令注册到当前的计算机中,此时该程序就存在一个命令与之对应。 这些命令都称之为外部命令。
    命令寻址过程

在这里插入图片描述

  • 批处理文件
    脚本文件 (.bat文件)

第七章 运算符

什么是运算符 ?

可以运算的符号。常见的比如算数运算符、赋值运算符等等。

7.1运算符的基本概念

在这里插入图片描述

7.2 赋值运算符

“=” 一个等号是赋值

int num = 10; // 唯一注意的是:赋值运算符是自右向左进行运算的  优先级最低   括号优先级最高

7.3 算术运算符

“+”,“-”,“*”,“/”,“%”,“++”,“–”

+号: 链接符号,当加号左右两边存在字符串的时候,此时加号表达的是连接符号的作用,会将左右两边的操作数组成一个新的字符串,继续运算。
++和–:
1>、如果它们是单独一条语句的时候,前加 前减和后加 后减效果是一样的,都是自增1或者是自减1;
2>、如果不是单独一条语句:
a: 前加、前减 先自增、自减然后运算
b: 后加、后减 先运算,然后自增、自减

7.4扩展运算符

是算术运算符+赋值运算符 或者是 位运算符+赋值运算符

/*** 测试扩展运算符*/
public class OperatorTest02 {public static void main(String[] args) {//1: 声明两个变量 计算两个变量之和int zhangScore = 10;int liScore = 20;int sum = 0;sum += zhangScore; //  <=> sum = sum+zhangScore;sum = sum+liScore;System.out.println(sum);// 声明一个int类型的变量int n = 10;byte m = 0;m += n;System.out.println(m);}
}

优势:
1>、编译效率高
2>、提升程序开发效率
3>、自动强制类型转换
劣势:
1>、阅读体验差

7.5 关系运算符

有 “ > , <, >= ,<= ,==, != ”

1:关系运算符得到的结果是boolean类型的值;
2:> < >= <= 只能比较基本数据类型中除了boolean以外的类型
3:== != 可以比较基本数据类型和引用类型
4: instanceof 只能比较引用类型 判定某个值是否从属于某个引用类型

7.6 逻辑运算符

&, | ,^ , 即时逻辑运算符 也是位运算符”

1: &和&& |和||的区别和联系? 逻辑&:
左右变量操作的都为true,其结果为true,其余都是fasle。所以&&发现第一个操作数是fasle的情况下,后面一个操作数就不计算了,直接返回false。
逻辑|:
左右变量操作数有一个是true,其结果为true,其余都是fasle。所以||发现第一个操作数是true的情况下,后面一个操作数就不计算了,直接返回true。

7.7条件运算符

唯一的一个三目运算符,存在三个操作数。

格式:表达式?表达式2:表达式3
计算过程:计算表达式1的值,如果表达式1的值是ture,则整个条件运算符的结果是表达式2的值,反之则是表达式3的值。

<

http://chatgpt.dhexx.cn/article/Fll78i4Z.shtml

相关文章

深度学习(9):FastFCN论文翻译与学习

FastFCN: Rethinking Dilated Convolution in the Backbone for Semantic FastFCN:重新思考膨胀卷积在语义分割主干网络中的作用 注&#xff1a;部分插图近几天补上&#xff0c;赶其他ddl去了 注&#xff1a;作者的理论分析我觉得主要集中在3.2&#xff0c;大家可以注意一下 在…

JPDA

Transferability versus Discriminability:Joint Probability Distribution Adaptation (JPDA) 最新的一篇迁移学习&#xff08;传统方法&#xff09; 读后感。。。 一、introduction 传统的迁移学习可以分成&#xff1a; 基于参数的&#xff1a;需要目标域中有带有label的样…

【第五期论文复现赛-语义分割】FastFCN

【论文复现赛】FastFCN: Rethinking Dilated Convolution in the Backbone for Semantic Segmentation 本文提出了一个新的联合上采样模块JPU(Joint Pyramid Upsampling)&#xff0c;将提取高分辨率特征图的任务映射成一个联合上采样问题。JPU模块可应用于各种语义分割模型中&…

教育版idea下载

点击Find your IDE后进入下载界面&#xff1a; 点击download&#xff0c;进入真正的下载界面&#xff1a; 看到这个界面&#xff0c;别慌&#xff0c;往下拉拉进度条&#xff1a; 选择自己想要的版本&#xff0c;然后下载就可以了。不说了&#xff0c;真香&#xff08;手动滑…

IntelliJ IDEA旗舰版 下载安装

官网下载地址&#xff1a; 最新版&#xff1a;https://www.jetbrains.com/idea/ 历史版本&#xff1a; https://www.jetbrains.com/idea/download/previous.html 下载完成后双击,开始安装,点击next 选择安装路径 选择安装64位,点击next 默认选择,点击install 开始安装! 安装…

IntelliJ IDEA 2018 破解版下载安装

参考文章&#xff1a; 1、里面有 idea2018 网盘下载地址 idea 2018 破解版 下载解压完&#xff1a; 2、详细安装图解&#xff1a; IntelliJ IDEA 下载安装&#xff08;含注册码&#xff09; 傻瓜式安装即可 哈哈&#xff0c;安装完 run 配置一路点击next&#xff0c;这里…

免费使用正版 IDEA

作为一个后端 Java 开发&#xff0c;IDEA 是个人最喜欢的 IDE&#xff0c;它非常智能&#xff0c;懂我的心&#xff0c;极大地提高了个人编程效率&#xff1b;然而&#xff0c;这是一款收费软件&#xff0c;并且其价格不菲。想了解 IDEA 价格的可以详见&#xff1a;https://www…

[工具书]IntelliJ IDEA社区版下载及配置 - ZIP版

文章目录 1. 前言2. 前提依赖软件3. 初始下载及运行4. 基础配置4.1 配置Maven 4.2 配置JDK5 插件安装5.1 安装插件统一位置5.2 SpringBoot5.3 Tomcat5.3.1 intelliJ中查找及安装Tomcat插件5.3.2 下载及配置Tomcat5.3.3 在IntelliJ中配置使用Smart Tomcat 7. 工具设置8. 好用的快…

2022年最新IDEA下载教程

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言下载总结 前言 赶时间跳过这里 故事是这样&#xff0c;因为我c盘存储空间严重不足&#xff0c;然后我就作死把桌面&#xff0c;下载&#xff0c;文档访问…等…

2023最新IDEA下载安装教程

IDEA下载安装教程 机器环境下载安装 机器环境 win系统&#xff0c;IDEA版本2022.3.1 下载 中国官网地址&#xff1a;https://www.jetbrains.com/zh-cn/idea/download/点击链接&#xff0c;选择自己想要的版本进行下载 安装 双击启动exe安装文件&#xff0c;选择next 选择…

IDEA的下载和安装

1.进入官网下载idea IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains 点击中间的download键进入下载界面 这里可以下载最新版或者老版的idea&#xff0c;这里推荐下载老版本的更稳定 下载完成后按照如上选择自己对应位数的 直接选择运行idea 建议直接选…

IDEA企业版安装(破!)

一、下载IDEA企业版&#xff0c;下载安装 二、打开IDEA&#xff0c;然后点击试用 三、新建一个空项目 四、进入软件后将ide-eval-resetter-2.1.6.zip这个ZIP包直接拖入 五、拖入后会弹出Restart重启按钮&#xff0c;点击重启IDE 六、重启后&#xff0c;在help里唤出插件Eval…

IDEA 2021免费下载(附安装教程)

下载地址 [软件名称]: IntelliJ IDEA 2021 [软件大小]: 658MB [安装环境]: Windows [下载链接]: https://pan.baidu.com/s/1-ohnxYE93u7ibxo5F2crJQ [提 取 码]: geek (建议复制粘贴链接与提取码) [下载方法]&#xff1a;点击查看如何下载 注&#xff1a;若链接失效&#xff0c…

IDEA 2020免费下载(附安装教程)

下载地址 [软件名称]: IntelliJ IDEA 2020 [软件大小]: 660MB [安装环境]: Windows [下载链接]: https://pan.baidu.com/s/1aWGWZjjV3_MkaxFHfIRB5A [提 取 码]: geek (建议复制粘贴链接与提取码) [下载方法]&#xff1a;点击查看如何下载 注&#xff1a;若链接失效&#xff0c…

Intellij IDEA免费版方法(1)

初学Java&#xff0c;当然离不了风靡“码农界”的Java神器Intellij IDEA&#xff0c;可是官网上面都要money&#xff0c;下面给大家带来Intellij IDEA 学生的免费使用计划&#xff1a; 1、下载 在Intellij IDEA官网上下载 下载地址&#xff1a;https://www.jetbrains.com/idea/…

最新2020版IDEA下载安装教程

1.进入IDEA官网下载界面&#xff08;地址为 https://www.jetbrains.com/idea/&#xff09;&#xff0c;点击 DOWNLOAD&#xff0c;如图。 如果无法打开官网&#xff0c;可以尝试修改windows的hosts文件&#xff0c;具体方式如下&#xff1a; 打开C:\Windows\System32\drivers…

【全球最清晰】IDEA社区免费版安装教程图解

快来快来下载吧~ 一.搜索部分 1.在浏览器搜索框里输入IDEA官网&#xff0c;也可以点击这个链接IntelliJ IDEA – 领先的 Java 和 Kotlin IDE​​​​​2.如果看不懂英文口语转换成中文哦~。 文本、简体中文 ​ 3.切换成中文后&#xff0c;点击开发者工具​ 4.选择intelli…

idea最新版下载安装使用

idea最新版下载安装使用 IDEA 全称 IntelliJ IDEA&#xff0c;是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具&#xff0c;尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设…

IDEA下载安装

IDEA下载安装 一、下载 IDEA1.点击第一个IntelliJ IDEA2.计算机专业的同学建议下载专业版&#xff0c;其他用户可以下载社区版&#xff0c;大家自己选择&#xff0c;我们这里选择下载专业版3.双击应用程序进行安装&#xff0c;点击Next4.选择安装路径&#xff0c;选择好后点Nex…

IntelliJ IDEA2018版下载安装教程以及详细步骤

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。https://blog.csdn.net/cms18374672699/article/details/84957252 本篇适合新手对于idea的下载安装和配置&#xff0c;因为近期博主正在学习Maven&#xff0c;而业界公认最适合搭配Maven的IDE便是Jet…