当前位置: 首页 > news >正文

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下载及安装&#xff08;一般不建议装C盘&#xff09;&#xff1a; jdk&#xff1a;java开发环境 idea&#xff1a;开发工具&#xff08;软件&#xff09;&#xff0c;用来编写代码的 苍老师文档服务器&#xff1a;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服务&#xff0c;并且能够对其进行访问。 1.1 Namespace Namespace是kubernetes系统中的一种非常重要资源&#xff0c;它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。…...

机械革命黑苹果改造计划第四番-外接显示器、win时间不正确问题解决

问题 1.无法外接显示器 最大的问题就是目前无法外接显示器&#xff0c;因为机械革命大多数型号笔记本电脑的HDMI、DP接口都是直接物理接在独显上的&#xff0c;内屏用核显外接显示器接独显&#xff0c;英伟达独显也是黑苹果无法驱动的&#xff0c;而且发现机械革命tpyec接口还…...

Linux docker(03)可使用GPU渲染的x11docker实战总结

该系列文章的目的旨在之前的章节基础上&#xff0c;使用x11docker构建一个可以使用GPU的docker容器。该容器可以用于3D图形渲染/XR 等使用GPU渲染的程序调试和运行。 0 why docker 为什么非要用x11docker&#xff0c;而不是其他的docker呢&#xff1f; 因为一般的docker是不…...

【Linux操作系统】【综合实验一 Linux操作基础】

文章目录一、实验目的二、实验要求三、实验内容四、实验报告要求一、实验目的 要求掌握Linux基础操作&#xff0c;熟悉Linux行界面&#xff0c;并明白操作的原理以及目的&#xff1b;熟悉Linux系统环境。 二、实验要求 通过这个第一阶段实验&#xff0c;要求掌握以下操作与相…...

关于监控服务器指标、CPU、内存、警报的一些解决方案

文章目录关于监控服务器指标、CPU、内存、警报的一些解决方案Prometheus Grafana 配置 IRIS / Cach 监控服务器Prometheus简介特点架构图Grafana简介特点配置流程自定义Prometheus接口定义配置 Exporter 监控服务器系统资源简介配置流程使用 Alertmanager报警简介配置流程基于…...

vue3全家桶技术栈基础(一)

在认识vue3全家桶之前,先简单回顾一下vue2的全家桶 一.在vue2中&#xff0c;全家桶技术栈 技术栈: vue2 vue-cli vuex3vue-router3webpack elementUI 1.vue-cli 脚手架构建vue项目&#xff0c;CLI 服务是构建于 webpack 和 webpack-dev-server构建快速生成一个vue2的开发项…...

群晖-第2章-设置HTTPS访问

群晖-第2章-设置HTTPS访问 本章介绍如何通过HTTPS访问群晖&#xff0c;前置要求是完成群晖-第1章-IPV6的DDNS中的内容&#xff0c;可以是IPV4也可以是IPV6&#xff0c;或者你有公网IP&#xff0c;直接添加DNS解析也可以。只要能通过域名访问到nas就行。 本文参考自群晖添加SS…...

005 利用fidder抓取app的api,获得股票数据

一、下载安装fidder 百度搜索fidder直接下载&#xff0c;按提示安装即可。 二、配置fidder 1. 打开fidder&#xff0c;选择tools——options。 2. 选择HTTPS选项卡&#xff0c;勾选前三项&#xff0c;然后点击右侧【actions】&#xff0c;选择【trust root certificate】&a…...

京东测试进阶之路:初入测试碎碎念篇

1、基本的测试用例设计方法 基本的测试用例设计方法&#xff08;边界值分析、等价类划分等&#xff09;。 业务和场景的积累&#xff0c;了解测试需求以及易出现的bug的地方。 多维角度设计测试用例&#xff08;用户、业务流程、异常场景、代码逻辑&#xff09;。 2、需求分析 …...

华为OD机试 - 乘积最大值(JavaScript) | 机试题+算法思路+考点+代码解析 【2023】

乘积最大值 题目 给定一个元素类型为小写字符串的数组 请计算两个没有相同字符的元素长度乘积的最大值 如果没有符合条件的两个元素返回0 输入 输入为一个半角逗号分割的小写字符串数组 2 <= 数组长度 <= 100 0 < 字符串长度 <= 50 输出 两个没有相同字符的元…...

Java并发知识点

文章目录1. start()和run()方法的区别&#xff1f;2. volatile关键字的作用&#xff1f;使用volatile能够保证&#xff1a;防止指令重排3. sleep方法和wait方法有什么区别&#xff1f;sleep()方法4. 如何停止一个正在运行的线程&#xff1f;方法一&#xff1a;方法二&#xff1…...

前端 ES6 环境下 require 动态引入图片以及问题

前端 ES6 环境下 require 动态引入图片以及问题require 引入图片方式打包体积对比总结ES6 环境中&#xff0c;通过 require 的方式引入图片很方便&#xff0c;一直以来也没有出过什么问题&#xff0c;后来项目中&#xff0c;需要动态引入图片。 require 动态引入也容易实现&am…...

PCL 欧氏聚类分割

文章目录 一、应用背景1、点云分割算法的属性2、点云分割的挑战二、实现过程三、主要函数及代码实现1、主要函数2、核心代码3、效果实现四、参考文献一、应用背景 1、点云分割算法的属性 1)鲁棒性,比如树木是具有与汽车相区别的特征的,当点云数据的特征数量增加时,分割算…...

一台服务器最大能支持多少条TCP连接

一、一台服务器最大能打开的文件数 1、限制参数 我们知道在Linux中一切皆文件&#xff0c;那么一台服务器最大能打开多少个文件呢&#xff1f;Linux上能打开的最大文件数量受三个参数影响&#xff0c;分别是&#xff1a; fs.file-max &#xff08;系统级别参数&#xff09;&am…...

Teradata退出中国,您可以相信中国数据库!

继Adobe、Tableau、Salesforce之后&#xff0c;2023年2月15日&#xff0c;数仓软件巨头Teradata宣布将逐步结束在中国的直接运营。数仓界的“黄埔军校”仓皇撤出中国市场给出的理由非常含蓄&#xff1a;Teradata对中国当前和未来商业环境的慎重评估&#xff0c;我们做了一个艰难…...

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实践录:一个字符串比较示例

本文介绍两个含中文的字符串且针对相同位置字符的比较&#xff0c;给出实现代码。 起因 某工程需将接收的字符串和数据库里的指定字段值对比&#xff0c;该字符串含中文&#xff0c;两者允许个别字符有差异&#xff0c;差异数量3及以下的&#xff0c;认为相同。 字符串默认用…...

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…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...

解析两阶段提交与三阶段提交的核心差异及MySQL实现方案

引言 在分布式系统的事务处理中&#xff0c;如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议&#xff08;2PC&#xff09;通过准备阶段与提交阶段的协调机制&#xff0c;以同步决策模式确保事务原子性。其改进版本三阶段提交协议&#xff08;3PC&#xf…...

算术操作符与类型转换:从基础到精通

目录 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符&#xff1a;、-、*、/、% 赋值操作符&#xff1a;和复合赋值 单⽬操作符&#xff1a;、--、、- 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...

针对药品仓库的效期管理问题,如何利用WMS系统“破局”

案例&#xff1a; 某医药分销企业&#xff0c;主要经营各类药品的批发与零售。由于药品的特殊性&#xff0c;效期管理至关重要&#xff0c;但该企业一直面临效期问题的困扰。在未使用WMS系统之前&#xff0c;其药品入库、存储、出库等环节的效期管理主要依赖人工记录与检查。库…...

webpack面试题

面试题&#xff1a;webpack介绍和简单使用 一、webpack&#xff08;模块化打包工具&#xff09;1. webpack是把项目当作一个整体&#xff0c;通过给定的一个主文件&#xff0c;webpack将从这个主文件开始找到你项目当中的所有依赖文件&#xff0c;使用loaders来处理它们&#x…...

如何把工业通信协议转换成http websocket

1.现状 工业通信协议多数工作在边缘设备上&#xff0c;比如&#xff1a;PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发&#xff0c;当设备上用的是modbus从站时&#xff0c;采集设备数据需要开发modbus主站&#xff1b;当设备上用的是西门子PN协议时&#xf…...

【Ftrace 专栏】Ftrace 参考博文

ftrace、perf、bcc、bpftrace、ply、simple_perf的使用Ftrace 基本用法Linux 利用 ftrace 分析内核调用如何利用ftrace精确跟踪特定进程调度信息使用 ftrace 进行追踪延迟Linux-培训笔记-ftracehttps://www.kernel.org/doc/html/v4.18/trace/events.htmlhttps://blog.csdn.net/…...