java3月train笔记
java笔记
day01
一、jdk和idea下载及安装(一般不建议装C盘):
jdk:java开发环境
idea:开发工具(软件),用来编写代码的
苍老师文档服务器:doc.canglaoshi.org
jdk下载:https://repo.huaweicloud.com/java/jdk/
打开cmd窗口(win+r,输入cmd)
依次输入
java
javac
java -version进行测试
配置环境变量(win+s搜索环境变量,点击编辑系统的环境变量)


再次测试javac命令(一定要打开一个新的cmd窗口)
二、基本语法
1、数据类型
(1)基本数据类型:八种
整型:
①byte,取值范围:-128~127
②short,取值范围:-32768~32767
③int(默认),取值范围:-2147483648~2147483647
④long,数字后面需要加后缀L(l)
浮点型:
⑤float,需要加后缀F(f)
⑥double(默认),不需要加后缀
布尔型:
⑦boolean,值:true或者false
字符型:
⑧char,只能存放一个中文汉字或者一个英文字母、整数
当存放的是数字是,底层会基于ascii码表会进行相应的转化,转化成对应的字符
package cn.td.jsd2303;/*** 八大基本数据类型*/public class Test2 {public static void main(String[] args) {//定义变量//语法格式:定义的类型 变量名 = 值;//修改变量的值//语法格式:变量名 = 值;//整型byte b1 = 127;//(-128~127)System.out.println(b1);b1 = -127;short s1 = 30000;//(-32768~32767)int i1 = 210;//(-2147483648~2147483647)long l1 = 21432934535432L;System.out.println(b1);System.out.println(s1);System.out.println(i1);System.out.println(l1);//浮点型float f1 = 8.9F;double d1 = 15.6;System.out.println(f1);System.out.println(d1);//布尔型boolean bl1 = true;boolean bl2 = false;System.out.println(bl1);System.out.println(bl2);//字符型char c1 = '北';char c2 = 'W';char c3 = 98;System.out.println(c1);System.out.println(c2);System.out.println(c3);}
}
2、运算符
(1)赋值:= += -= /= *= %=
package cn.td.jsd2303;/*** 赋值运算符:= += -= *= /= %=*/
public class Test8 {public static void main(String[] args) {//定义变量格式:变量的类型 变量名 = 变量的值;int i1 = 23;//+=:a+=b <=> a = a + bint i2 = 15;
// i1 = i1 + i2;i1+=i2;System.out.println(i1);int b1 = 20;int b2 = 8;// ctrl + / 注释单行
// b2 = b2 - b1;b2-=b1;System.out.println(b2);double d1 = 2.0;double d2 = 5.0;
// d1 = d1*d2;d1*=d2;System.out.println(d1);int i3 = 100;int i4 = 5;
// i3 = i3/i4;i3/=i4;System.out.println(i3);int i5 = -13;
// i5 = i5 % i3;i5%=i3;System.out.println(i5);}
}
(2)逻辑:> < >= <= == !=
package cn.td.jsd2303;/*** 逻辑:> < >= <= == !=*/
public class Test9 {public static void main(String[] args) {//定义(声明)多个变量//语法格式:变量的类型 变量1,变量2,......;int i1,i2,i3,i4,i5,i6;boolean b1;i1 = 15;i2 = 28;i3 = -15;i4 = 19;i5 = 28;b1 = i1 > i2;System.out.println(b1);//falseb1 = i2 < i3;System.out.println(b1);//falseb1 = i1 >= i4;System.out.println(b1);//falseb1 = i3 <= i1;System.out.println(b1);//trueb1 = (i2==i5);System.out.println(b1);//trueb1 = (i1!=i3);System.out.println(b1);//true}
}
package cn.td.jsd2303;/*** 超市打折案例:如果购物金额达到200,打九折,达到500,打8折,达到800,打6折** 逻辑运算符 + 分支结构*/
public class Test10 {public static void main(String[] args) {double shopMoney = 850.0;if(shopMoney >= 800) {shopMoney = shopMoney * 0.6;System.out.println("您本次一共消费了:" + shopMoney + "元");} else if(shopMoney >= 500) {shopMoney = shopMoney * 0.8;System.out.println("您本次一共消费了:" + shopMoney + "元");} else {shopMoney = shopMoney * 0.9;System.out.println("您本次一共消费了:" + shopMoney + "元");}}
}
(3)&& || !
package cn.td.jsd2303;/*** && A&&B,A、B都为true,结果才为true,有一个是false,结果还是false* || A||B,有一个为true,即为true,如果都为false,才是false* ! !A,如果A为true,结果则为false,如果A为false,结果则为true*/
public class Test11 {public static void main(String[] args) {int i1,i2,i3,i4;boolean b1;i1 = 10;i2 = -13;i3 = 28;i4= 33;b1 = (i1 > i3) && (i4 > i3);System.out.println(b1);//falseif(b1) {System.out.println("result1 is true");} else if((i1 > i4) || (i2 < i3)) {//trueSystem.out.println("result2 is true");}if(!b1) {System.out.println("result3 is " + b1);}}
}
(4)++ –
package cn.td.jsd2303;/*** ++ --*/
public class Test7 {public static void main(String[] args) {int i1 = 10;//++i1;//等价于 i1=i1 + 1System.out.println(++i1);//21System.out.println(i1);//21int i2 = 20;//i2++;//等价于 i2=i2 + 1System.out.println(i2++);//20System.out.println(i2);//21int i3 = 51;int i4 = 28;int i5 = 0;i5 = i3+++--i4;System.out.println(i5);//78}
}
(5)算术:+ - * / %(取模)
package cn.td.jsd2303;/*** 算术:+ - * / %(取模)*/
public class Test6 {public static void main(String[] args) {int i1 = 10;System.out.println(i1);i1 = i1 + 100;System.out.println(i1);int i2 = 5;int i3 = 8;int i4 = 0;i4 = i3 - i2 ;System.out.println(i4);//基本数据类型运算,可能会出现运算结果不精确问题,如下double d1 = 10;double d2 = 9.8;System.out.println(d1-d2);//% 取模(求余数)int i5 = 5;int i6 = 3;int i7 = 0;i7 = i5%i6;System.out.println(i7);//小取大,得到那个小的值i5 = -1;i6 = 10;i7 = i5 % i6;System.out.println(i7);}
}
(6)三目或者三元
package cn.td.jsd2303;/*** 三目或者三元* 格式:a>b?c:d** 例子:找出三个数中的最大值*/
public class Test12 {public static void main(String[] args) {int i1,i2,i3,i4;i1 = 10;i2 = 50;i3 = -100;if(i1 > i2) {//i1比i2大,拿i1和i3比if(i1 > i3) {System.out.println("max value is " + i1);} else {System.out.println("max value is " + i3);}} else {//i1比i2小,拿i2和i3比if(i2 > i3) {System.out.println("max value is " + i2);} else {System.out.println("max value is " + i3);}}//上面的方法虽然可行,但麻烦,推荐用三木或者三元运算符i4 = i1>i2? (i1>i3?i1:i3) : (i2>i3?i2:i3);System.out.println("max value is " + i4);}
}
3、流程控制
(1)分支结构
①if()…else
package cn.td.jsd2303;/*** if else结构*/
public class Test3 {public static void main(String[] args) {boolean b1 = false;if(b1) {System.out.println("this true");} else {System.out.println("this false");}}
}
②if()…else if()…else
package cn.td.jsd2303;/*** if...else if...else*/
public class Test4 {public static void main(String[] args) {boolean b1 = false;boolean b2 = false;if(b1) {System.out.println("this b1 is true");} else if(b2) {System.out.println("this b2 is true");} else {System.out.println("b1 and b2 is false");}}
}
③switch case
package cn.td.jsd2303;/*** switch(args) {* case* }** args可以是byte、int、short、char、String、Enum六种类型*/
public class Test5 {public static void main(String[] args) {int i1 = 10;switch(i1) {case 1:System.out.println("output 1");break;//中断、中止case 2:System.out.println("output 2");case 10:System.out.println("output 10");case -1:System.out.println("output -1");default:System.out.println("output default");}}
}
(2)循环
相关文章:
java3月train笔记
java笔记 day01 一、jdk和idea下载及安装(一般不建议装C盘): jdk:java开发环境 idea:开发工具(软件),用来编写代码的 苍老师文档服务器:doc.canglaoshi.org jdk下载&…...
Apollo Config原理浅析
文章目录1. 简介2. 基本功能3. Apollo关键功能实现原理3.1 框架整体原理3.1.1 Apollo角色3.1.2 框架执行原理3.1.3 整体组成3.2 细节实现3.2.1 Eureka和不同角色机器的关系3.2.2 Meta Server的作用3.2.3 ReleaseMessage消息实现原理3.2.4 Client的通信方式1. 简介 apollo是携程…...
Kubernetes二 Kubernetes之实战以及pod详解
Kubernetes入门 一 Kubernetes实战 本章节将介绍如何在kubernetes集群中部署一个nginx服务,并且能够对其进行访问。 1.1 Namespace Namespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。…...
机械革命黑苹果改造计划第四番-外接显示器、win时间不正确问题解决
问题 1.无法外接显示器 最大的问题就是目前无法外接显示器,因为机械革命大多数型号笔记本电脑的HDMI、DP接口都是直接物理接在独显上的,内屏用核显外接显示器接独显,英伟达独显也是黑苹果无法驱动的,而且发现机械革命tpyec接口还…...
Linux docker(03)可使用GPU渲染的x11docker实战总结
该系列文章的目的旨在之前的章节基础上,使用x11docker构建一个可以使用GPU的docker容器。该容器可以用于3D图形渲染/XR 等使用GPU渲染的程序调试和运行。 0 why docker 为什么非要用x11docker,而不是其他的docker呢? 因为一般的docker是不…...
【Linux操作系统】【综合实验一 Linux操作基础】
文章目录一、实验目的二、实验要求三、实验内容四、实验报告要求一、实验目的 要求掌握Linux基础操作,熟悉Linux行界面,并明白操作的原理以及目的;熟悉Linux系统环境。 二、实验要求 通过这个第一阶段实验,要求掌握以下操作与相…...
关于监控服务器指标、CPU、内存、警报的一些解决方案
文章目录关于监控服务器指标、CPU、内存、警报的一些解决方案Prometheus Grafana 配置 IRIS / Cach 监控服务器Prometheus简介特点架构图Grafana简介特点配置流程自定义Prometheus接口定义配置 Exporter 监控服务器系统资源简介配置流程使用 Alertmanager报警简介配置流程基于…...
vue3全家桶技术栈基础(一)
在认识vue3全家桶之前,先简单回顾一下vue2的全家桶 一.在vue2中,全家桶技术栈 技术栈: vue2 vue-cli vuex3vue-router3webpack elementUI 1.vue-cli 脚手架构建vue项目,CLI 服务是构建于 webpack 和 webpack-dev-server构建快速生成一个vue2的开发项…...
群晖-第2章-设置HTTPS访问
群晖-第2章-设置HTTPS访问 本章介绍如何通过HTTPS访问群晖,前置要求是完成群晖-第1章-IPV6的DDNS中的内容,可以是IPV4也可以是IPV6,或者你有公网IP,直接添加DNS解析也可以。只要能通过域名访问到nas就行。 本文参考自群晖添加SS…...
005 利用fidder抓取app的api,获得股票数据
一、下载安装fidder 百度搜索fidder直接下载,按提示安装即可。 二、配置fidder 1. 打开fidder,选择tools——options。 2. 选择HTTPS选项卡,勾选前三项,然后点击右侧【actions】,选择【trust root certificate】&a…...
京东测试进阶之路:初入测试碎碎念篇
1、基本的测试用例设计方法 基本的测试用例设计方法(边界值分析、等价类划分等)。 业务和场景的积累,了解测试需求以及易出现的bug的地方。 多维角度设计测试用例(用户、业务流程、异常场景、代码逻辑)。 2、需求分析 …...
华为OD机试 - 乘积最大值(JavaScript) | 机试题+算法思路+考点+代码解析 【2023】
乘积最大值 题目 给定一个元素类型为小写字符串的数组 请计算两个没有相同字符的元素长度乘积的最大值 如果没有符合条件的两个元素返回0 输入 输入为一个半角逗号分割的小写字符串数组 2 <= 数组长度 <= 100 0 < 字符串长度 <= 50 输出 两个没有相同字符的元…...
Java并发知识点
文章目录1. start()和run()方法的区别?2. volatile关键字的作用?使用volatile能够保证:防止指令重排3. sleep方法和wait方法有什么区别?sleep()方法4. 如何停止一个正在运行的线程?方法一:方法二࿱…...
前端 ES6 环境下 require 动态引入图片以及问题
前端 ES6 环境下 require 动态引入图片以及问题require 引入图片方式打包体积对比总结ES6 环境中,通过 require 的方式引入图片很方便,一直以来也没有出过什么问题,后来项目中,需要动态引入图片。 require 动态引入也容易实现&am…...
PCL 欧氏聚类分割
文章目录 一、应用背景1、点云分割算法的属性2、点云分割的挑战二、实现过程三、主要函数及代码实现1、主要函数2、核心代码3、效果实现四、参考文献一、应用背景 1、点云分割算法的属性 1)鲁棒性,比如树木是具有与汽车相区别的特征的,当点云数据的特征数量增加时,分割算…...
一台服务器最大能支持多少条TCP连接
一、一台服务器最大能打开的文件数 1、限制参数 我们知道在Linux中一切皆文件,那么一台服务器最大能打开多少个文件呢?Linux上能打开的最大文件数量受三个参数影响,分别是: fs.file-max (系统级别参数)&am…...
Teradata退出中国,您可以相信中国数据库!
继Adobe、Tableau、Salesforce之后,2023年2月15日,数仓软件巨头Teradata宣布将逐步结束在中国的直接运营。数仓界的“黄埔军校”仓皇撤出中国市场给出的理由非常含蓄:Teradata对中国当前和未来商业环境的慎重评估,我们做了一个艰难…...
markdown组合数学公式
markdown组合数学公式 $C_n^m$CnmC_n^mCnm $A_n^m$AnmA_n^mAnm $$\binom{m}{nm1}$$(mnm1)\binom{m}{nm1}(nm1m) $${m\choose nm1}$$(mnm1){m\choose nm1}(nm1m)...
Golang实践录:一个字符串比较示例
本文介绍两个含中文的字符串且针对相同位置字符的比较,给出实现代码。 起因 某工程需将接收的字符串和数据库里的指定字段值对比,该字符串含中文,两者允许个别字符有差异,差异数量3及以下的,认为相同。 字符串默认用…...
Linux后台开发工具箱-葵花宝典
目录目录 11. 前言 52. 脚本类工具 52.1. 双引号和单引号 52.2. 环境变量和变量 52.3. sed命令-字符串文本操作 62.4. sed和awk使用外部变量 62.5. awk 应用 62.5.1. awk给外部变量赋值 62.5.2. awk 多字符串分割 72.6. 日期操作 72.7. 设置shell模式 82.8. 设置shell提示 82.9…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
