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. 联邦学习定义 联邦学习是一种机器学习设置,其中多个客户端在中央服务器或服务提供商的协调下协作解决机器学习…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
