Java语言学习基础

2023-10-27

Java语言学习基础

01_计算机基础知识

01.01_计算机概述

计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。

由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机。可分为超级计算机、工业控制计算机、网络计算机、个人计算机、嵌入式计算机五类,较先进的计算机有生物计算机、光子计算机、量子计算机等。

计算机发明者约翰·冯·诺依曼。计算机是20世纪最先进的科学技术发明之一,对人类的生产活动和社会活动产生了极其重要的影响,并以强大的生命力飞速发展。它的应用领域从最初的军事科研应用扩展到社会的各个领域,已形成了规模巨大的计算机产业,带动了全球范围的技术进步,由此引发了深刻的社会变革,计算机已遍及一般学校、企事业单位,进入寻常百姓家,成为信息社会中必不可少的工具。

01.02_硬件

硬件的功能是输入并存储程序和数据,以及执行程序把数据加工成可以利用的形式。从外观上来看,微机由主机箱和外部设备组成。主机箱内主要包括CPU、内存、主板、硬盘驱动器、光盘驱动器、各种扩展卡、连接线、电源等;外部设备包括鼠标、键盘等。

01.03_软件

软件是用户与计算机进行交流的界面,软件分为系统软件和应用软件。

系统软件:DOS,Windows,Linux,Unix,Mac,Android,ios

应用软件:微信,QQ,office

01.04_人机交互

软件的出现为人机交互提供了更大的便利。

人机交互的方式:

A:图形化界面方式:简单直观,易于接受;

B:命令行方式:在控制台输入指令,操纵计算机。需要记录命令,较为繁琐;

C:触摸式交互:当下应用广泛,简单操作,便捷;

D:语音识别:对话控制 简单,直接,智能。

01.05_计算机语言

A:机器语言:二进制码表示,计算机可直接识别和执行的一种机器指令的集合;

B:汇编语言:用助记符表示的面向机器的计算机语言。简化了编程过程;

C:高级语言:面向用户的语言,语意确定,规则明确,自然直观,易于学习。被广泛使用的高级语言有:BASIC,PASCAL,c,java等。

01.06_常见的DOS命令

win + r --> cmd–>回车

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7vhyWlGs-1594540821506)(C:\Users\Administrator\Desktop\20200712105717.jpg)]

A:d: 回车 盘符切换
B:dir(directory):列出当前目录下的文件以及文件夹
C:cd (change directory)改变指定目录(进入指定目录) 注意: 跨盘进入需要加一个 /d参数 例子: cd /d D:\software\cs1.6
D:cd… : 退回到上一级目录 回退多级目录 cd …/…/
E:cd: 退回到根目录
F:cls : (clear screen)清屏
G:exit : 退出dos命令行
H:ipconfig /all 查看本机IP 网卡物理地址等信息
I:calc 打开计算器
J:mspaint 打开画板
K:notepad 打开记事本!
L:hostname 获取计算机名称
M:getmac 获取物理网卡地址

md (make directory) : 创建目录
rd (remove directory): 删除目录
del (delete): 删除文件,删除一堆后缀名一样的文件*.txt

删除带内容的文件夹 不能直接删除 所以加参数 如下
rd + /s 文件夹名称 (询问是否删除)
rd + /q + /s 文件夹名称 (直接删除)

01.07_Java语言跨平台原理

通过Java语言编写的应用程序在不同的系统平台上都可以运行。只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。 由JVM来负责Java程序在该系统中的运行。JVM是不跨平台的,应为针对不同的操作系统,JAVA提供了不同的JVM,而各个操作系统的可执行文件是不同

01.08_JRE和JDK概述

JRE:Java Runtime Environment Java运行环境
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

JDK:JDK(Java Development Kit Java开发工具包)
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。

JDK,JRE,JVM作用与联系:用jdk编写了一个java程序交由jre 运行起来 由jvm实现跨平台

02_简单程序编写测试

class  {
	public static void main(String[] args) {
		System.out.println("Hello World!");
	}
}

02.01_关键字

A:关键字:被java语言赋予特殊含义的单词。(boolean,int,for,do,public…)

B:特点:一律用小写字符标识

02.02_标识符

A:标识符:给类,接口,方法,变量,常量等起名字时用的字符序列

B:组成规则:英文大小写字母,数字字符,$和-

C:注意:标识符不能数字开头,不能是java中关键字,区分大小写

02.03_控制台运行java程序常见错误

A:关键字拼写错误运行时报错如下:

class a {
	public static void mian(String[] args) {
		System.out.println("Hello World!");
	}
}

B:java程序对大小写有严格要求,大小写混淆会有以下报错:

class a {
	public static void mian(String[] args) {
		system.out.println("Hello World!");
	}
}

C:语句结尾未带分号会有以下报错:

class a {
	public static void mian(String[] args) {
		System.out.println("Hello World!")
	}
}

D:语句末尾出现汉语分号,报错非法字符:

class a {
	public static void mian(String[] args) {
		System.out.println("Hello World!")}
}

E:类名与文件名不一样,编译后的.class文件名与类名一致

class a {
	public static void mian(String[] args) {
		System.out.println("Hello World!");
	}
}

F:需将控制台打开至.java文件上一级目录,不然会出现以下报错:

03_常量

03.01_常量概述及使用

常量:在程序的执行过程中不发生改变的量

包括:

A:字面值常量:

  1. 符串常量 用双引号括起的内容
  2. 整数常量 所有整数
  3. 小数常量 所有小数
  4. 字符常量 用单引号括起的内容
  5. 布尔常量 只有true和false
  6. 空常量 null

​ 输出字面值常量:

class Constant{
	public static void main(String[] args) {
		//输出各种字面值常量
		System.out.println(100);
		System.out.println(3.14);
		System.out.println(true); //真
		System.out.println(false);//假
		System.out.println('a');
		System.out.println('4'); 
		System.out.println('1');
		System.out.println('你');
		System.out.println("Hello World!");
		System.out.println("你好,世界");
	}
}

B:自定义常量

03.02_各进制概述与转换

A:各进制表现形式:

二进制 八进制 十进制 十六进制
前缀 0b 0 0x
组成 1和0 0~7 0~9 0-9a-f

B:任意进制转换为十进制

转换原理:位权展开法,n进制计数制中各位数字A为位权,数字符号所处的位置序号X为指数。实例如下:

各进制 过程 十进制
0b1010 1*2^3+1 *2^1 10
0 012 1x8+2x8^0 10
0x000A 10x16^0 10

B:十进制转换为任意进制:

除基取余 直到商为0 余数反转。

以十进制10转换为二进制数为例:

  1. 10/2=5······0
  2. 5/2=2······1
  3. 2/2=1······0
  4. 1/2=0······1

此二进制数为:0b1010

其余进制转换均可以十进制为中介进行转换。

03.03_原码,反码及补码

A:正数原码反码补码均一样

B:负数,反码对其原码逐位取反,但符号位除外;补码在其反码最后一位加一

04_变量

变量:在程序执行的过程中,在某个范围内其值可以发生改变的量。

定义格式:数据类型 变量名 = 变量值;

04.01_数据类型

A:基本数据类型

整数型 字节数 范围
byte 1 -128~ 127
short 2 -2^15 ~ 2^15-1
int 4 -2^31 ~ 2^31 -1
long 8 -2^63 ~ 2^63 -1
浮点型
float 4
double 8
字符型
char 2 0 ~ 2^16

布尔型 boolean

整数默认int,浮点数默认double

04.02_变量的使用

注意事项:

  1. 变量定义在某一大括号内,此内不可在定义另一同名变量。
  2. 没有初始化值不能直接使用

A:默认转换规则

  1. byte,short,char->int->long->float->double
  2. byte, short,char之间不能相互转换,参与运算首先转换为int类型
  3. boolean类型不可转换为其他类型

B:强制转换

强制转换格式:

​ 目标数据类型 变量名=(目标数据类型)(被转换的数据);

强制转换可能存在损失精度的问题,例如:

class  Noname1{
	public static void main(String[] args) {
		int a=200;      //a=0b011001000
		byte b=(byte)a; 
        //(byte)a=0b11001000(补码) 
        //0b11000111(反码)
        //0b10111000(原码)=-56
		System.out.println(b);
	}
}

输出结果为:-56 , 原因如注释所示

05_字符运算及运算符使用

05.01_字符运算

根据ASCII码表:

  1. ‘0’ = 48;
  2. ‘a’ = 97;
  3. ‘A’ = 65;

当‘+’左右两边有一方不为字符串,’+'的作用为拼接字符。例如:

    System.out.println("hello" + 'a' + 1);//helloa1
	System.out.println('a' + 1 + "hello");//98hello

05.02_算术运算符基本用法

A:运算符:对常量和变量进行操作的符号称为运算符

B:分类:

  1. 算术运算符:+,-,*,/,%,++,–
  2. 赋值运算符
  3. 比较运算符:==,!=,<,>,<=,>=,instanceof
  4. 逻辑运算符
  5. 位运算符
  6. 三目运算符

++:自加。对原数据加一

–:自减。对原数据减一

注意:’++‘或’–'在前,先自加或自减再使用,其在后,则先使用后自加或自减。

如:

    System.out.println("hello" + 'a' + 1);//helloa1
	System.out.println('a' + 1 + "hello");//98hello

05.02_算术运算符基本用法

A:运算符:对常量和变量进行操作的符号称为运算符

B:分类:

  1. 算术运算符:+,-,*,/,%,++,–
  2. 赋值运算符
  3. 比较运算符:==,!=,<,>,<=,>=,instanceof
  4. 逻辑运算符
  5. 位运算符
  6. 三目运算符

++:自加。对原数据加一

–:自减。对原数据减一

注意:’++‘或’–'在前,先自加或自减再使用,其在后,则先使用后自加或自减。

​ 关系运算符运算结果为boolean类型。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java语言学习基础 的相关文章

  • 逐行读取 JTextPane

    有没有办法读取a的内容JTextPane逐行 很像 BufferedReader 吗 Element root textPane getDocument getDefaultRootElement 获得根元素后 您可以检查存在多少个子元素
  • 如何向 OkHttp 请求拦截器添加标头?

    我将这个拦截器添加到我的 OkHttp 客户端 public class RequestTokenInterceptor implements Interceptor Override public Response intercept C
  • Spring MVC 中的 CSRF(跨站请求伪造)保护

    我对春季的 CSRF 跨站请求伪造 保护有点困惑 不 我有我的 jsp 我的控制器和一个 Web 服务 我想要做的是在 Web 服务级别验证令牌 如果令牌匹配 则运行 Web 服务 在我的例子中执行数据库插入 JSP file
  • Java:BufferedInputStream 的 available() 方法存在问题

    我正在处理以下代码 用于将大文件拆分为一组较小的文件 FileInputStream input new FileInputStream this fileToSplit BufferedInputStream iBuff new Buff
  • AES BadPaddingException

    如果我使用错误的密钥或错误的盐进行解密 则会引发 BadPaddingException 我希望返回一个不正确的字符串 doFinal 导致解密方法出现异常 信息 This is just an example Unfug S F V s
  • Java 中的 TreeSet 与 C#.net 的等效项

    我有 Java 代码 其中包含TreeSet 我想将代码转换为 C 我可以使用哪个等效集合 如果没有 请提出替代方案 那将是系统 集合 通用 SortedSet
  • java模拟自定义对象

    public class MainClass public void makeCall CustomObject obj new CustomObject obj testMethod 我想进行单元测试makeCall 所以我必须嘲笑Cus
  • IntelliJ Idea,如何从控制台删除java文件目录?

    当您运行文件时 它会打开控制台窗口 并且一直在顶部显示该文件所在的目录 这非常令人恼火 因为现在 为了将其他行与目录混合分开 我必须在启动任何 System out println 命令之前使用 n C Program FILEs 我想摆脱
  • Hibernate、MySQL 视图和 hibernate.hbm2ddl.auto = 验证

    我可以在 Hibernate 中使用 MySQL 视图 将它们视为表 即 该实体与为表创建的实体没有什么不同 但是 当 Hibernate 设置为验证模型时 我的应用程序将不会部署 因为它找不到视图 因为它假设它是一个表 是否可以在启用部署
  • Android Studio 找不到 com.android.support:support-v4:19.1.0

    我已将一个项目导入Android Studio但我收到错误 找不到 com android support support v4 19 1 0 我在哪里可以找到这个文件 我已经使用导入了项目Gradle 我有Android Studio v
  • Android 上的自定义视图和窗口属性

    我想要做的是在我的应用程序顶部添加一个视图 该视图类似于过滤器视图 我想操纵屏幕的颜色 并且我还希望能够同时更改屏幕的亮度时间 这两件事似乎是分开起作用的 但不能一起起作用 这是我的代码 添加视图 colourView new Layer
  • 如何在开头时解析 json 文件

    我想解析以下 JSON 文件 但以 向我表明这是一个数组 然后继续 对象 我当前的解析器返回一个 JSON 对象 我的问题是 如何修改解析器来解析这个文件 这样解析器将为我提供其他 JSON 文件 从对象或排列开始 JSON 文件 codi
  • 基于Java模式分割字符串

    您好 我有以下模式的日志文件 2014 03 06 03 21 45 432 ERROR mfs pool 3 thread 19 dispatcher StatusNotification Error processing notific
  • Android 以编程方式停止 toast 通知?

    有没有办法以编程方式停止 Toast 消息 假设我有一个按钮 单击它可以滚动 toast 消息 并且在 onclick 事件中我想停止队列中的所有消息并只显示新消息 我该怎么做 我的代码的简化版本如下 代码 public class Hel
  • org.apache.catalina.core.JreMemoryLeakPreventionListener 中急切调用 URLConnection 的 setDefaultUseCaches(false) 是什么原因

    这个问题可能有点难以找到答案 这是一个系列中的问题考虑使用 Policy getPolicy 的原因是什么 因为它将保留对上下文的静态引用并可能导致内存泄漏 https stackoverflow com questions 7057421
  • JavaFX 8 默认消息图标

    随着 JavaFX 的最近几次更新 我们收到了警报 我想获取消息的默认图标 错误 警告 在Swing中 我可以通过一些方式获取L F消息图标UIManager的属性 如何在 JavaFX 中获取消息的默认图标 它们是包含在属性中 还是由 C
  • 飞碟 - html 实体未呈现

    我正在使用 Flying saucer lib 生成 pdf 但我对一些 html 实体有问题 我已经在寻找解决方案 我在这个论坛和其他地方找到了很多提示 但仍然存在问题 我尝试过这种方法 http sdtidbits blogspot c
  • SecurityContextHolder.getContext().getAuthentication() 返回 null

    我想使用以下代码手动绕过 spring Security 的用户 User localeUser new User UsernamePasswordAuthenticationToken auth new UsernamePasswordA
  • JSF - 实施受限页面过滤器

    我正在关注 BalusC 的回答JSF 2 0 如何获取在浏览器地址栏中输入的 URL https stackoverflow com questions 4105263 jsf 2 0 how to get the url that is
  • 从 IntelliJ 运行 JavaFX 应用程序

    Versions openjdk版本 11 0 11 2021 04 20 OpenJDK 运行时环境 build 11 0 11 9 Ubuntu 0ubuntu2 20 10 OpenJDK 64 位服务器虚拟机 内部版本 11 0 1

随机推荐

  • UI和UI有什么不同,是如何协助的

    UX 用户体验 和UI 用户界面 是一个常用的术语 然而 尽管有复杂的联系 但网页设计的两个领域是两个不同的东西 事实上 有可能有一个用户界面优秀但用户体验差的网站 因此 了解UX和UI良好的网页设计非常重要 这里简要介绍一下 UX和UI它
  • 数据库的设计(E-R图,数据库模型图,三大范式)

    一 数据库设计的概念 数据库设计是将数据库中的数据实体及这些数据实体之间的关系 进行规划和结构化的过程 二 数据库设计的重要性 如果一个数据库没有进行一个良好的设计 那么这个数据库完成之后他的缺点是 1 效率会很低 2更新和检索数据时会出现
  • SpringMVC使用stringHttpMessageConverter

    SpringMVC使用stringHttpMessageConverter 场景演示 解决方法 场景演示 当使用 ReponseBody注解的时候 我们知道返回值会被转换成 Json格式 然而里面的中文可能会被转换成乱码 如下面代码中的 测
  • 18.一篇文章,从源码深入详解ThreadLocal内存泄漏问题

    1 造成内存泄漏的原因 threadLocal是为了解决对象不能被多线程共享访问的问题 通过threadLocal set方法将对象实例保存在每个线程自己所拥有的threadLocalMap中 这样每个线程使用自己的对象实例 彼此不会影响达
  • 【笔记总结】C++面向对象三大特征(四大特征)

    C 面向对象的三大特征 四大特征 三大特征 封装 继承 多态 四大特征 抽象 封装 继承 多态 一 类和对象 什么是类 什么是对象 类和对象的区别 类是数据类型 是具有相同属性和服务的一组对象的集合 对一类对象的抽象就是类 对象即观察研究对
  • 转换vmware的vmdk格式为qcow2格式

    一 系统环境 操作系统 Win11 虚机系统 VMware Workstation 16 Pro 16 2 3 build 19376536 转换工具 qemu 8 0 2 二 下载安装qemu模拟器 查看qemu版本 Download Q
  • Python强大的内置模块collections

    1 模块说明 collections 是 Python 的一个内置模块 所谓内置模块的意思是指 Python 内部封装好的模块 无需安装即可直接使用 collections 包含了一些特殊的容器 针对 Python 内置的容器 例如 lis
  • C语言和指针数组有关的一些题目

    文章目录 一 一维数组的大小 二 字符数组 2 1 2 2 2 3 三 二维数组 四 指针笔试题 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 一 一维数组的大小 数组名的意义 1 sizeof 数组名 这里的数组名表示整
  • matlab数据过大,无法正常保存

    matlab存储数据时 存储不进mat文件 如下存在三个为1KB的文件 便是存储不成功的 这是因为对于过大的文件 大于2GB的变量 需要使用MAT file版本7 3或更高版本 解决方法如下 进入matlab 主页 点击 预设 按钮 选择
  • el-input和el-select的框的宽度设置成一致的。

    其实在el select的底层其实就是el input 只要将el select加一个属性 就是将其width设置为100 原因是什么呢 有待研究
  • BTC-匿名性

    Bitcoin and anonymity 比特币中不要求用真名 可以用公钥产生的地址 可以产生任意多的地址 用不同的地址干不同的事情 用的是化名 也被叫做pseudonymity 一般来说 匿名性多与隐私保护相关 但实际上 比特币中的匿名
  • DynamicDet: A Unified Dynamic Architecture for Object Detection 一个目标检测器的通用动态架构

    目录 检测代码 本文分享 CVPR 2023 论文 DynamicDet A Unified Dynamic Architecture for Object Detection 北京大学王选计算机研究所王勇涛团队所提出的一个目标检测器的通用
  • matlab练习程序(对应点集配准的四元数法)

    这个算是ICP算法中的一个关键步骤 单独拿出来看一下 算法流程如下 1 首先得到同名点集P和X 2 计算P和X的均值up和ux 3 由P和X构造协方差矩阵sigma 4 由协方差矩阵sigma构造4 4对称矩阵Q 5 计算Q的特征值与特征向
  • 记录--手把手教你Vue+ECharts+高德地图API实现天气预报数据可视化

    这里给大家分享我在网上总结出来的一些知识 希望对大家有所帮助 前言 所谓数据可视化 我们可以理解为从宏观角度来看一眼就能看出来整个数据的占比 走向 对于数据可视化 很多互联网公司是很看重这一块的 包括大厂 就比如阿里的淘宝 双十一的时候往往
  • 【小沐学NLP】关联规则分析Apriori算法(Mlxtend库,Python)

    文章目录 1 简介 2 Mlxtend库 2 1 安装 2 2 功能 2 2 1 User Guide 2 2 2 User Guide data 2 2 3 User Guide frequent patterns 2 3 入门示例 3
  • 随机变量序列的两种收敛性

    随机变量序列的收敛性有多种 其中常用的是两种 依概率收敛和依分布收敛 大数定律涉及的是一种依概率收敛 中心极限定理涉及的是依分布收敛 1 依概率收敛 为什么要研究随机变量序列的收敛性 依概率收敛的定义 依概率收敛于常数的四则运算 2 依分布
  • 简单HTML的使用

    1 html的简介 什么是html HyperText Markup Language 超文本标记语言 网页语言 超文本 超出文本的范畴 使用html可以轻松实现这样的操作 标记 html所有的操作都是通过标记实现的 标记就是标签 lt 标
  • 如何判断是PC端还是移动端

    app vue 中 mounted if this browser mobile this browser android this browser ios document body clientWidth lt 787 判断是否是移动端
  • 任务调度系统(定时任务)

    1 运行流程 Cron表达式 设置触发规则 调度器 调度器本身就是一个线程 并且一定是单例的 如果不是单例 会出现多指挥官 任务乱套问题 存储任务位置 默认保存在内存中 RAMJobStore 出现重启后找不到任务问问题 所以可以在配置文件
  • Java语言学习基础

    文章目录 Java语言学习基础 01 计算机基础知识 01 01 计算机概述 01 02 硬件 01 03 软件 01 04 人机交互 01 05 计算机语言 01 06 常见的DOS命令 01 07 Java语言跨平台原理 01 08 J