当前位置: 首页 > 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…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storms…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么&#xff0c;为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中&#xff0c;我们在使用电子设备时&#xff0c;我们所输入执行的每一条指令最终大多都会作用到硬件上&#xff0c;比如下载一款软件最终会下载到硬盘上&am…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...