day01_基础
零、今日内容
1 jdk
2 idea使用
3 HelloWorld程序
4 变量
5 数据类型
6 String
一、JDK安装
JDK java开发工具包,敲代码的环境
1.1 卸载
控制面板 -> 卸载程序 ->
选择jdk,右键卸载

1.2 安装
注意: 现在安装的是JDK8版本,虽然最新的版本是21版本,但是工作市场中最流行的还是jdk8

安装步骤: 无脑下一步即可 (这样会装在c盘C:\Program Files\Java文件夹下)
双击打开安装包开始安装
直接下一步

下一步

安装中

安装成功

在磁盘中可以查看安装位置(c盘),发现安装两个东西
- jdk java开发工具包(敲代码需要用)
- jre java运行环境 (执行代码的)

1.3 配置环境变量
配置环境变量是为了java命令可以在任意地方执行
我的电脑右键 --> 属性 --> 高级系统设置 --> 环境变量

系统变量 --> 新建 --> 输入框输入JAVA_HOME以及jdk安装路径
新建 --> 输入框输入JRE_HOME以及jre安装路径
找到path变量,新建刚才JRE_HOME和JAVA_HOME

点击确定,关闭窗口
测试
win + r 打开窗口,输入cmd 打开命令行(黑窗口)

黑窗口中输入 java -version

恭喜配置环境成功!
二、idea安装使用
开发工具 --> 敲代码工具
- Eclipse
- MyEclipse
- Idea (收费)
2.1 安装idea
解压

双击这个安装包

开始安装

下一步next (点完next,可能会稍等一会儿才会到下一页)

勾选以上4个,下一步next

点击下方install
稍等一会儿就会安装成功~

点击finish,完成
1.2 pojie
软件解决到桌面,点击即可
1.3 使用 【重点】
首先,建议是在磁盘创建一个工作空间文件夹:IdeaWorkSpace
打开idea写代码的步骤
- 创建项目
- 使用代码做的事情的一个统称
- 例如: 某某楼盘项目
- 创建包
- 是项目内的代码再细化的管理
- 例如: 1#号楼 ,2#号楼
- 创建类
- 类内写主方法
- 主方法内写代码
- 编译(idea会自动编译,我们不要管)
- 右键点击run运行
- 控制台查看结果
1.3.1 创建项目

选择jdk





取消提示
项目创建完成

1.3.2 创建包
选择src --> 右键 --> new --> package

接下来输入包名,包名有规范
- 全部小写
- 是公司反域名 ,例如com.qf
显示不同的包结构,可以点击"齿轮" 调整

1.3.3 创建类
选择包结构 --> 右键 --> new --> class


注意:
- 类名建议全部英文
- 首字母大写
- 多个单词之间不要空格
- 多个单词后面单词首字母也大写
- 不能使用特殊符号,除了_和$
- 数字不能放开头
Hello2World (对)、2HelloWorld(错误)
HelloWorld(对),Hello_World(对)

1.3.4 编写代码

注意事项:
- java中单词大小写敏感
1.3.5 运行
运行
或者

1.4 配置

编码格式,全部改为utf-8

三、HelloWorld程序
/*** 多行注释*/
// 单行注释
/*** public 公共的,在此处是固定的,即每一个类都有* class 类,在此处是固定的,即每一个类都有* HelloWorld 类名,见名知意* {} 类体,* 左括号左边不换行,右边换行 * 右括号左右两边都换号,即右括号单独占一行* public static void main(String[] args){} 固定格式,* 是主方法,是程序唯一入口* 在{}内写代码时,需要缩进4个空格* ----------------------------------* 主方法快捷键: psvm 回车* 输出语句快捷键: sout 回车*/
public class HelloWorld {public static void main(String[] args){System.out.println("java 666");}
}
四、变量
变量: 就是变化的数据
比如: 年龄,身高
为什么需要变量?
java是用来写程序,程序就是需要通过
计算各种数据得到一个结果,此时就需要使用变量来存储数据
变量的作用
存储数据- 实现数据复用
如何定义变量?
数据类型 变量名;变量赋值
- 变量名 = 值;
public class Demo1 {public static void main(String[] args) {/*** int 是数据类型,整型,即整数* age 是变量名* double 是数据类型,浮点型,即小数* ----------------* 数据类型作用定义变量的类型* ----------------* 变量名可以随便定义,见名知意即可*/int age; // 声明变量age,代表年龄age = 18;// 给age变量赋值,代码从右向左看System.out.println(age);// 将变量输出18age = 20; // 变量是可以变化的,即可以被重新赋值System.out.println(age);// 20// 一般可以连写(声明 + 赋值)double wight = 65.3; // 体重System.out.println(wight);// double wight = 80.0; // 错误,变量不能重复定义(声明)wight = 80.0; // 对,变量定义完可以重复使用wight = 90.0; // 对,变量定义完可以重复使用wight = 100.0; // 对,变量定义完可以重复使用System.out.println(wight ); // 100.0/*** 变量相对于是容器,用来装东西 ,例如 空心有底圆柱体,杯子* 数据类型相对于是限制, 装汽油的杯子*/}
}
总结
- 变量定义: 数据类型 变量名;
- 变量不能重复定义,但是可以重复使用
- 变量值可以被重新赋值,赋值是将以前的值覆盖
五、基本数据类型
数据类型就是变量类型的,一旦定义类型就会限制一些特性
java的数据类型
- 基本类型: 整数(byte short int long) 浮点(float double) 字符(char) 布尔(boolean)
- 引用类型
5.1 整型
整型代表整数,又细分为 byte,short ,int ,long,
主要区别在于表示范围不同
| 数据类型 | 表示范围 | 位数 |
|---|---|---|
| byte | -2^7 ~2^7-1(-128 ~ 127) | 8位 (8bit) |
| short | -2^15 ~ 2^15-1(-32768 - 32767) | 16位 |
| int | -2^31 ~ 2^31-1(正负21亿左右) | 32位 |
| long | -2^63 ~ 2^63-1 | 64位 |
public static void main(String[] args) {// 变量定义: 数据类型 变量名// byte 范围-2^7 ~2^7-1(-128 ~ 127)byte b = 127;System.out.println(b );// short 范围-2^15 ~ 2^15-1(-32768 - 32767)short s = -32768;// int 范围(正负21亿左右)int i = 2100000000;// long 范围 -2^63 ~ 2^63-1// 特殊的: long型数据需要在后面加上L或l以示区分long l = 22000000000L;}
注意:
虽然学了4个整型,但是平常只要没有特殊说明,所有整型默认都用int
5.2 浮点型
浮点型,就是平时使用的小数,细分成两类 float,double,区别在于表示范围不同
| 数据类型 | 表示范围 | 位数 |
|---|---|---|
| float | 有效范围8位数字 | 32位 |
| double | 有效范围17位数字 | 64位 |
// float// 特别注意: float需要在后面加上f/F以示区分float f = 112345.67890F;System.out.println(f );// 112345.68// double后面可以加也可以不加D/ddouble d = 112345.678901234567890;System.out.println(d );// 112345.67890123457
注意: 只有没有特殊说明,小数定义就用double
4.3 字符型
字符型 char, 是指单个字或者符号使用单引号包裹 --> 基本类型
字符串型 String, 是指多个字符号使用双引号包裹 --> 这不是基本类型,是引用类型
/*** char 代表字符型数据,即字或者符号* 赋值必须使用单引号,* 且内部有且只有一个字符*/char c1 = '中';char c2 = 'A';char c3 = '?';char c4 = ' ';// char c5 = ''; // 不写内容报错// char c6 = 'AB';// 写多个也报错
4.4 布尔型
布尔型,只有一个类型 boolean,主要用来做判断的,代表对错
即只有两个值: true,false
// 主要用来做判断的,代表对错boolean bo = true;boolean bo2 = false;
4.5 数据类型的使用总结
基本数据类型有8种: byte short int long float double boolean char
- 什么时候使用整型数据? 当表示整数时用int,比如库存量,商品数量,评论量,总条数
- 什么时候使用小数数据? 小数就用double,比如价钱,比率,分数等
- 什么时候用char字符? 目前阶段基本不用
- 什么时候用boolean布尔? 后续在if或者for做判断语句时候使用
当写代码时,只要分析出来需要数据的,就要先定义变量,再变量赋值,后使用变量
六、String
String是引用数据类型,但它不是基本数据类型
代表字符串,多个字和符号连成串,写法是需要双引号
public class Demo3 {public static void main(String[] args) {// 数据类型 变量名;int i = 1;double d = 1.1;// 字符串数据类型// 特别注意: 首字母大写!// 赋值使用双引号String s1 = "我爱Java666~";System.out.println(s1 );// 字符串一般有一个应用场景: 用来做拼接// 为什么要拼接? 对输出的内容做解释System.out.println("aaa" + "bbb" );// aaabbbString s2 = "字符串";System.out.println(s2 + "666" ); // 字符串666System.out.println(s2 + 1 ); // 字符串1// -----------int a = 1;System.out.println("int a = " + a );byte b = 1;System.out.println("byte b = " + b );short s = 1;System.out.println("short s = " + s );long l = 1;System.out.println("long l = " + l );}
}
总结
jdk安装以及环境变量了解即可,只要不换电脑,基本不会动
但是需要知道jdk安装到哪里
-----------------------------------------
idea的使用
掌握 如何建项目,建包,建类
类中写什么东西
如何输出, 代码又如何执行
---------------------------
变量是干什么的?
如何写一个变量?有什么注意事项?
-------------------------
有哪些基本数据类型?
每个类型有哪些特点?
常用的类型有哪些? int 和double
------------------------------
String ,代表字符串数据类型,使用双引号
常用类做输出语句中拼接字符串, 对输出结果的解释
单词
work 工作
space 空间
new 新建/创建
project 项目
src source(资源) 存放源代码的地方
package 包
file 文件
settings 设置 (set)
相关文章:
day01_基础
零、今日内容 1 jdk 2 idea使用 3 HelloWorld程序 4 变量 5 数据类型 6 String 一、JDK安装 JDK java开发工具包,敲代码的环境 1.1 卸载 控制面板 -> 卸载程序 -> 选择jdk,右键卸载 1.2 安装 注意: 现在安装的是JDK8版本,虽然最新的版本是21版本,但是工作市场中最流行的…...
RabbitMQ开启消息发送确认和消费手动确认
开启RabbitMQ的生产者发送消息到RabbitMQ服务端的接收确认(ACK)和消费者通过手动确认或者丢弃消费的消息。 通过配置 publisher-confirm-type: correlated 和publisher-returns: true开启生产者确认消息。 server:port: 8014spring:rabbitmq:username: …...
嵌入式系统开发【深入浅出】 GPIO 类设备的驱动程序
目录 GPIO管脚的输出功能相当于控制、输入相当于检测 使用GPIO基本流程 对于某一个管脚来说最多有几种功能? 拓展 【定时器与系统定时器】 决定定时长短的因素: 普通定时器 系统定时器 STM32F103RBT6的时钟源有哪五种 sysclk 的时钟频率由哪个时钟源提供基…...
项目管理必备的22个公式
大家好,我是老原。 趁着国庆时间比较空闲,给你们整理了一些项目管理必备的计算公式,一共22个。 每一个公式都给你们标注了适用情况和使用方法,为了方便你们理解,也加了一些例子,保准你看了就会。 觉得不…...
ccache加速编译速度
ccache https://gitee.com/lixiaoxmm/ccache.git 依赖hiredis、zstd(zstd的cmakelists.txt在build/cmake目录下) 下载mingw,https://www.mingw-w64.org/downloads/#w64devkit hiredis、zstd使用mingw编译 cmake -G “MinGW Makefiles” cmakecache.txt手动修改去掉网络下载,…...
Apache POI使用
1.导入坐标 <!-- poi --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>${poi}</version></dependency><dependency><groupId>org.apache.poi</groupId><a…...
UNIQUE VISION Programming Contest 2023 Autumn(AtCoder Beginner Contest 323)
A - Weak Beats 链接 : A - Weak Beats 思路 : 模拟即可,如果在偶数位上出现了非0得元素,直接输出"No"后返回即可,循环顺利结束的话,就直接输出"Yes"; 代码 : #include<bits/stdc.h> #define IOS ios::sy…...
Docker 网络管理
Docker 网络实现原理 Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。因为在同一宿主机…...
网络安全国家队-安防思考与实践
按照工信部“三同步”安全建设的统一要求,本项目的实施应具备符合等级保护要求的安全防护措施(主要为传输控制、防火墙隔离、入侵检测、安全审计等网络安全措施;操作系统安全、数据库安全、防病毒管理、安全审计等基础系统安全措施࿰…...
epoll 定时器
参考: Linux下使用epoll监听定时器-CSDN博客 但是这个用的是gettimeofday。 本人使用的是 #include <stdlib.h> #include<stdio.h> #include <sys/timerfd.h> #include <sys/epoll.h> #include <unistd.h> #include <sys/time.…...
BUUCTF Java逆向解密 1
Class文件是Java编译后的二进制字节码文件。 我这里使用的是jadx-gui,直接将class文件拖进去即可 package defpackage;import java.util.ArrayList; import java.util.Scanner;/* renamed from: Reverse reason: default package */ /* loaded from: Reverse.clas…...
BUUCTF [MRCTF2020]Ez_bypass1
这道题全程我都是用bp做的 拿到题目 我们查看页面源代码得到 代码审计 我们要用get传入id和gg两个参数,id和gg的值要求不能相等,但是id和gg的md5强比较必须相等 if(isset($_GET[gg])&&isset($_GET[id])) {$id$_GET[id];$gg$_GET[gg];if (md5($…...
深入理解强化学习——强化学习和有监督学习
分类目录:《深入理解强化学习》总目录 通过前文的介绍,我们现在应该已经对强化学习的基本数学概念有了一定的了解。这里我们回过头来再看看一般的有监督学习和强化学习的区别。以图片分类为例,有监督学习(Supervised Learning&…...
设计模式 - 结构型模式考点篇:装饰者模式(概念 | 案例实现 | 优缺点 | 使用场景)
目录 一、结构型模式 1.1、装饰者模式 1.1.1、概念 1.1.2、案例实现 1.1.3、优缺点 1.1.4、使用场景 一、结构型模式 1.1、装饰者模式 1.1.1、概念 装饰者模式就是指在不改变现有对象结构的情况下,动态的给该对象增加一些职责(增加额外功能&#…...
计算机竞赛 题目:基于深度学习的手势识别实现
文章目录 1 前言2 项目背景3 任务描述4 环境搭配5 项目实现5.1 准备数据5.2 构建网络5.3 开始训练5.4 模型评估 6 识别效果7 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的手势识别实现 该项目较为新颖,适合作为竞赛课题…...
手撕各种排序
> 作者简介:დ旧言~,目前大一,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:掌握每种排序的方法,理解每种排序利弊…...
视频号的链接在哪,视频号视频链接地址获取办法!
不少人问视频号的链接在哪里可以获取,本质的在腾讯微信中目前视频号的链接是无法获取的,但好事多磨今天就分享一个第三方的视频号视频链接地址获取办法,希望对你有所帮助! 1:在微信客户端中,我们可以通过搜…...
深度学习笔记之优化算法(六)RMSprop算法的简单认识
深度学习笔记之优化算法——RMSProp算法的简单认识 引言回顾:AdaGrad算法AdaGrad算法与动量法的优化方式区别AdaGrad算法的缺陷 RMProp算法关于AdaGrad问题的优化方式RMSProp的算法过程描述 RMSProp示例代码 引言 上一节对 AdaGrad \text{AdaGrad} AdaGrad算法进行…...
10架构管理之公司整体技术架构
一句话导读 公司的整体技术架构一般是公司的架构组、架构管理部、技术委员会等部门负责,需要对公司整体的技术架构进行把控和管理,确保信息系统的稳定性和可靠性,避免因技术架构不合理而导致的系统崩溃和数据丢失等问题,为公司的业…...
联邦学习综述
《Advances and Open Problems in Federated Learning》 选题:Published 10 December 2019-Computer Science-Found. Trends Mach. Learn. 联邦学习定义 联邦学习是一种机器学习设置,其中多个客户端在中央服务器或服务提供商的协调下协作解决机器学习…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
comfyui 工作流中 图生视频 如何增加视频的长度到5秒
comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...
