java基础学习篇
java学习
多写(代码、笔记、文章),多练(交流、思维、技能),多分享,多提问、多思考
什么是计算机
由硬件和软件组成,广泛应用在科学计算、数据处理、自动控制,计算机辅助设计,人工智能,网络等领域
计算机硬件
cpu
Memory(内存)
Motherboard(主板)
IO设备
冯诺依曼体系结构
快捷键
Ctrl+c 复制Ctrl+v 粘贴Ctrl+A 全选Ctrl+Z 撤销Ctrl+S保存ALt+F4 关闭窗口
基本Dos命令
打开cmd :windws+r 输入cmd
资源管理器输入 cmd+空格也可以打开cmd
常用命令:
盘符切换: D: 切D盘 以此推类
当前目录下的所有文件 dir
切换目录: cd /
清理屏幕:c ls
退出终端:exit
查看电脑ip:ifconfig
文件操作
md 目录名 创建目录
rd 目录名 删除目录
cd> 文件名 创建文件
del 文件名 删除文件
java简介
java 编程语言分类**
java按照抽象等级分类的话属于: 高级语言
java按照程序设计方法分类属于: 面向对象语言
java按照程序执行方式分类的话属于: 混合型语言
java按照运行时结构能否改变分类属于: 静态语言
java按照变量是否需要指明类型分类属于:强类型语言
http://t.csdn.cn/HNwiD 分类具体解释可参考此内容
java版本
java 分为三个版本:java SE \javaEE \ java ME
三者关系:SE标准版包含:标准jVm 和标准库 EE是企业版就是比标准版的库包含的东西更多一些但是两者的虚拟机是完全相同的。 ME是针对嵌入式设备的瘦身版,SE的标准库无法在java ME 上使用,而且他的虚拟机也是瘦身版
java 名词解释JDK、JRE 、JVM
jre 是java运行环境,他包含jvm 和java核心类库。他只能运行.class文件,是由jvm (虚拟机)将字节码文件(.class)解释成具体系统平台的机器指令。只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。
jdk 代码要编译成字节码需要jdk来进行编译,jdk 除了包含jre还提供编译器、调试器、java基础类库他是一个开发工具包
java特性和优势
简单性、面向对象、可移植性、高性能、分布式、动态性、多线程
安全性、健壮性
HelloWord
1、新建一个文件夹、存放代码
2、新建一个java文件(Hello.java)
-
文件后缀名.java
-
注意代码中Class名字要与文件名一致,并且首字母大写
public class Hello{public static void main(String[] args){System.out.print("Hello World");} } 解析 :外面是类public class Hello里面是方法public static void main(String[] args)public static void 修饰符
-
打开命令提示符,进入Hell.java 存放的位置,
运行命令:javac Hello.java 编译此文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3u0tcDFq-1678025541318)(file://C:\Users\axn\AppData\Roaming\Typora\typora-user-images\image-20230303143642649.png?lastModify=1678025448)]
运行命令:dir ,发现多了一个Hello.class 此文件是编译后的文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NAd4qHSf-1678025541321)(C:/Users/axn/AppData/Roaming/Typora/typora-user-images/image-20230303143755200.png?lastModify=1678025404)]
-
假如运行编译命令错,提示命令不存在,检查一下系统变量,尤其是path 路径配置的系统变量位置,看是不是排在首位
-
注意事项:java 大小写是敏感的 文件名:尽量使用英文
程序运行机制
源程序(*.java)->java编译器–>字节码文件(.class)->虚拟机(类装载器->字节码校验器->解释器)->操作系统
IDE-IDEA
安装IDEA
psvm 会自动出现:
public static void main(String[] args) {}
sout会自动出现:
System.out.println();
java基础
注释、标识符、关键字
注释*
有三种:
- 单行注释 😕/内容
- 多行注释:/* 内容 */
- 文档注释:/**内容 */
标识符**
java 所有的组成部分都需要名字、类名、变量名以及方法名都被称为标识符
标识符大小写敏感
都应该以字母,美元符、或下划线开始
首字符之后可以是字母,美元符、或下划线或数字
关键字:关键字一律用小写字母标识,按其用途划分为如下几组。
(1)用于数据类型。
用于数据类型的关键字有 boolean、byte、char、 double、 float、int、long、new、short、void、instanceof。
(2)用于语句。
用于语句的关键字有break、case、 catch、 continue、 default 、do、 else、 for、 if、return、switch、try、 while、 finally、 throw、this、 super。
(3)用于修饰
用于修饰的关键字有 abstract、final、native、private、 protected、public、static、synchronized、
transient、 volatile。
(4)用于方法、类、接口、包和异常。
用于方法、类、接口、包和异常的关键字有 class、 extends、 implements、interface、 package、import、throws。
还有些关键字,如 future、 generic、 operator、 outer、rest、var等都是Java保留的没有意义的关键字。 [4]
另外,Java还有3个保留字:goto、const、null。它们不是关键字,而是文字。包含Java定义的值。和关键字一样,它们也不可以作为标识符使用。
数据类型
强类型语言:要求变量使用严格符合规定,所有变量都必须先定义后才能使用
java数据类型分为两大类
-
基本类型 primitive type
-
引用类型 reference type
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KG0iSwV8-1678025541322)(file://D:\Program Files\java学习笔记\2551473-20220210231709270-316971942.png?lastModify=1678025448)]
什么是字节
- 位bit :计算机内部数据 最小存储单位 11001100 是一个八位二进制数
- 字节byte:是计算机之后数据处理的基本单位,习惯上带大写B来表示
- 1B(byte,字节)=8bit(位)
- 字符:是指计算机中石油的字母、数字、字和符号
- 1bit 表示1位
- 1Byte表示一个字节 1B=8b
- 1024B=1KB
- 1024KB=1M
- 1024M=1G
类型转换
由于java 是强类型语言,所以有些运算需要类型转换
低----高
byte,short,char->int->long->float->double(小数的优先级一定大于整数,浮点数的数值范围比整数的数值范围大 )
转换分为:强制类型转换 和自动类型转换
举例:
强制类型转换 格式:(类型)变量名 强制转换是 高转低
//byte 数据类型是8位、有符号的,以二进制补码表示的整数;最小值是 -128(-2^7);最大值是 127(2^7-1);
//intint 数据类型是32位、有符号的以二进制补码表示的整数;最小值是 -2,147,483,648(-2^31);最大值是 2,147,483,647(2^31 - 1);
public class DE1 {public static void main(String[] args) {int i = 128 ;byte b = (byte) i;//强制类型转换System.out.println(i);System.out.println(b); }
}
输出结果:
128
-128
/*为什么是i等于128,而b却等于-128?
因为:Byte的最大值是127,然而给它赋值了一个128,
就会出一个叫做“内存溢出”的问题
内存溢出,值就会完全变样了
需要尽量避免*/
自动转换 是低到高 无需加特殊格式直接转换
public class DE1 {public static void main(String[] args) {int i = 128 ;double b = i;System.out.println(i);System.out.println(b);}
}输出结果:
128
128.0
注意点:
1、不能对布尔值进行转换(布尔类型的值不能转换成任何数据类型,true
常量不等于 1,而 false
常量也不等于 0。这两个值只能赋给声明为 boolean
类型的变量)
2、不能把对象类型转换为不相干类型
3、在高容量转换为低容量的时候,需要强制转换
4、转换的时候可能存在内存溢出或精度问题
转换样例:转换的时候可能存在内存溢出或精度问题:
public class DE1 {public static void main(String[] args) {int money = 10_0000_0000 ;int year = 12;int total = money*year;System.out.println(total);//输出-884901888 结果超出int范围导致内存溢出long tota2 = money*year; //money*year结果已经超出int范围溢出了,再转换成long照样会溢出System.out.println(tota2);//输出-884901888long tota3 = money*((long)year);//先把其中一个数进行转换为longSystem.out.println(tota3);//输出 12000000000 结果正确}
}
变量、常量
变量:
-
可以变化的量
-
Java是一种强语言类型所以每个变量必须声明类型
-
java变量是程序中最基本的存储单元,其要素包含变量名、变量类型和作用域
type varname =[value] ; 不建议一行定义多个值
int a,b,c ;
int a=1,b=2,c=3;
建议下面这种程序可读性高
int a=1;
int b=2;
int c=3;
//类型 变量名=值;可以使用逗号分割声明多个同类型变量
变量作用域
-
类变量
-
实例变量
-
局部变量
public class DE1 {//类变量 加了staticstatic double salary = 2500 ;//实例变量:从属于对象也就是DE1这个类String name;int age;//mian 方法public static void main(String[] args) {//局部变量:必须声明和初始化值int i = 100;System.out.println(i);//此局部变量只能在main方法用DE1 de1 = new DE1();System.out.println(de1.age); //int 默认值是0System.out.println(de1.name);//string 默认值是null//类变量System.out.println(salary);//输出2500.0}//其他方法public void add(){} }
常量Constant:
-
初始化(initialize)后不能再改变值!不会变动的值
-
常量可以理解成特殊的变量,被设定后,在程序运行过程中不允许被改变
final 常量名=值;
final double PIIIIIII=3.14;
-
常量名一般使用大写字符
样例:
public class DE2 {//修饰符,不存在先后顺序static final double PI=3.14 ;public static void main(String[] args) {System.out.println(PI);}
}
运算符
包机制、JavaDoc
学习来源
https://www.bilibili.com/video/BV12J41137hu/?buvid=Z14B2B18E9A196034025B50BF5B3EFD31E69&is_story_h5=false&mid=1pqY6B1DqMsFr7%2B9%2BAU3ZA%3D%3D&p=27&plat_id=114&share_from=ugc&share_medium=iphone&share_plat=ios&share_session_id=DC24AC19-FE77-45B0-9ED9-B71B3E541A3A&share_source=WEIXIN&share_tag=s_i×tamp=1678025063&unique_k=IabfMX4&up_id=95256449
http://t.csdn.cn/HNwiD
https://www.liaoxuefeng.com/wiki/1252599548343744/1255876875896416
相关文章:
java基础学习篇
java学习 多写(代码、笔记、文章),多练(交流、思维、技能),多分享,多提问、多思考 什么是计算机 由硬件和软件组成,广泛应用在科学计算、数据处理、自动控制,计算机辅…...
Go 语言基础语法及应用实践
Go语言是一门由Google开发的静态类型、编译型的开源编程语言,被设计成简单、高效、安全的语言。作为一门相对年轻的语言,Go语言的使用范围正在不断扩大,特别是在Web开发、云计算、容器化和分布式系统等领域越来越受到欢迎。 在本篇文章中,我们将探讨Go语言的基础语法及应用…...

C语言自定义类型---进阶
之前的文章中有结构体初阶知识的讲解,对结构体不是很了解的小伙伴可以先去去看一下结构体初阶 结构体,枚举,联合结构体结构体类型的声明特殊的声明结构的自引用结构体变量的定义和初始化结构体内存对齐 <3 <3 <3(重点)那为什么存在内…...
85.链表总结
链表总结 链表总结与进阶 抽象数据类型(ADT abstract data type)与抽象数据接口(ADI abstract data Interface) 链表实际上就是对于结构体、结构体指针和结构体内可以包含指向同类型的结构体指针不可以包含指向同类型的结构体的应…...

【博学谷学习记录】超强总结,用心分享|狂野大数据课程【DataFrame的相关API】的总结分析
操作dataFrame一般有二种操作的方式, 一种为SQL方式, 另一种为DSL方式 SQL方式: 通过编写SQL语句完成统计分析操作DSL方式: 领域特定语言 指的通过DF的特有API完成计算操作(通过代码形式)从使用角度来说: SQL可能更加的方便一些, 当适应了DSL写法后, 你会发现DSL要比SQL更加…...

粒子群优化最小二乘支持向量机SVM回归分析,pso-lssvm回归预测
目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 SVM应用实例,粒子群优化最小二乘支持向量机SVM回归分析 代码 结果分析 展望 支持向量机SVM的详细原理 SVM的定义 支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大…...
lavis多模态开源框架学习--安装
安装lavis安装lavis测试安装问题过程中的其他操作安装lavis 因为lavis已经发布在pypi中,所以可以直接利用pip安装 pip install salesforce-lavis测试安装 from lavis.models import model_zoo print(model_zoo) # # Architectures Types # # …...

【IDEA】如何在Tomcat上创建部署第一个Web项目?
看了网上很多教程,发现或多或都缺失了一些关键步骤信息,对于新手小白很不友好,那么今天就教大家如何在Tomcat服务器(本地)上部署我们的第一个Web项目: 共分为三个部分: 1. IDEA创建Web项目&am…...

程序员画流程图的工具Draw.io
Draw.io 是一个很好用的免费流程图绘制工具,制图结果本质上是xml文件,web版和桌面版可以支持导出图像(png或者svg矢量图都可以)。你可以利用它绘制一系列的图表、图示或图形,包括流程图、UML类图、组织结构图、泳道图、E-R 图、文…...

CAPL脚本DBLookup函数动态访问CAN 报文的属性
🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe&…...

2022年显卡性能跑分排名表
2022年显卡性能跑分排名表(数据来源于快科技)这个版本的电脑显卡跑分榜第一的是NVIDIA GeForce RTX 3090 Ti显卡。由于显卡跑分受不同的测试环境、不同的显卡驱动版本以及不同散热设计而有所不同,所以显卡跑分会一直变化。 前二十名的台式电…...

mx-font
Abstract 短镜头字体生成(FFG)方法必须满足两个目标:生成的图像既要保留目标字符的底层全局结构,又要呈现多样化的局部参考风格。现有的FFG方法旨在通过提取通用表示样式或提取多个组件样式表示来分离内容和样式。然而,以往的方法要么无法捕捉不同的本地风格,要么无法推广到…...

基于S32K148快速调试TJA1101
文章目录1.前言2.TJA1101简介3.TJA1101调试3.1 硬件3.1.1 整体框图3.1.2 评估板3.1.2.1 参考原理图3.1.2.2 引脚说明3.1.3 转接板3.1.3.1 参考原理图3.1.3.2 模式配置3.1.3.3 原理介绍3.2 软件3.2.1 物理层(TJA1101):3.2.2 数据链路层&#x…...

万字长文详解webpack知识图谱
webpack概念 概念 Webpack 是一种用于构建 JavaScript 应用程序的静态模块打包器,它能够以一种相对一致且开放的处理方式,加载应用中的所有资源文件(图片、CSS、视频、字体文件等),并将其合并打包成浏览器兼容的 Web…...
模板测试(Stencil Test)
模板测试可以用来针对特殊的区域进行渲染控制,实现有趣的效果,例如绘制物体轮廓。在 使用模板测试的时候,一般的步骤如下: 启用模板测试,以便写入数值到模板缓冲中渲染物体,根据渲染的物体将特定的数值写入到模板缓冲中禁用模板缓冲写入设置模板函数,根据于模板缓冲中的…...

【Go语言学习】安装与配置
文章目录前言一、Go语言学习站二、安装与配置1.安装2.环境变量配置3.Gland编辑器安装与配置Hello, World!总结前言 Go语言特性 Go,又称为 Golang,是一门开源的编程语言,由 Google 开发。Go 语言的设计目标是提供一种简单、快速、高效、安全…...

HCIP-5OSPF区域类型学习笔记
1、OSPF区域类型 OSPF提出了区域的概念(AREA),区域是将所有运行OSPF 的路由器人为的分成不同的组,以区域ID来标示。在区域内路由计算的方法不变,由于划分区域之后,每个区域内的路由器不会很多,…...

C语言再学习第三章
例题3-1 编写一个函数,实现华氏度和摄氏度的转化。 已知公式:c (5/9)*(f-32) #include <stdio.h>double f_value 0; double c_value 0; int main(void) {printf("请输入华氏温度\n");scanf("%lf",&f_valu…...

【aiy篇】小目标检测综述
小目标检测(Small Object Detection)是指在图像中检测尺寸较小的目标物体,通常是指物体的尺寸小于图像大小的1/10或者更小,COCO为例,面积小于等于1024像素的对象维下目标。小目标检测是计算机视觉领域的一个重要研究方…...
常用Linux命令的基本使用
序号 命令 对应英文 作用 1 ls list 查看当前文件夹下的内容 2 pwd print work directory 查看当前所在文件夹 3 cd[目录名] changge directory 切换文件夹 4 touch[文件名] touch 如果文件不存在,新建文件 5 mkdir[目录名] make directory …...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...