【学习笔记】Java 一对一培训(2.2)Java基础逻辑
【学习笔记】Java 一对一培训(2.2)Java基础逻辑
- 关键词:Java、Spring Boot、Idea、数据库、一对一、培训、教学
- 本文主要内容含Java 逻辑运算、Java 循环语句、Java 常见工具类、Java 常见数据结构、Java文件操作、封装继承多态
- 计划2.5小时完成,请同学尽量提前准备。本部分主要代码实战!
- 有学习需要请联系:xujian_cq
- 手把手教学、腾讯会议一对一培训,所有代码都要敲一遍,有问题随时暂停解决
- 前置内容(【学习笔记】Java 一对一培训(2.1)Java基础语法)链接
文章导航栏
(1)Java 一对一培训(第一部分)开发工具介绍和安装
(2.1)Java 一对一培训(2.1)Java基础语法
(2.2)Java 一对一培训(2.2)Java基础逻辑
(3.1)Java 一对一培训(3.1)Spring Boot介绍和基础
1 Java逻辑运算
1.1 Java 逻辑运算
- 常见的有+,-,*,/,%,++,–。
- 依次理解如下内容
int a = 3;
int b = 5;
long c = 8;
float d = 6.6f;
double e = 9.321;
String str = "您好,";
int sum = a + b;
//重复介绍:System.out.println是在控制台输出内容
System.out.println(sum);
System.out.println(a + c);
System.out.println(a / d);
System.out.println(d * e);
System.out.println(str + a);
System.out.println(c % a);
System.out.println(a ++);
System.out.println(++ b);
1.2 Java 逻辑判断
- bool判断
- if - else判断
- switch - case判断
//bool判断
System.out.println(a == a);
System.out.println(a == b);
System.out.println(a % b == c);
//if-else判断
if(a == 3){
System.out.println("a是等于3的");
}else{
System.out.println("a不是等于3的");
}
//switch-case判断
switch (a){
case 1:
System.out.println("a等于1");
break;
case 2:
System.out.println("a等于2");
break;
case 3:
System.out.println("a等于3");
break;
default:
System.out.println("a不等于1、2、3");
break;
}
2 Java 循环语句
- for 循环
- while循环
- 迭代器(后面数组再讲)
// for循环示例
for(int i = 0; i < 10; i ++){
System.out.println("fow循环:" + i);
}
//while 循环示例
int i = 10;
while (i > 0){
i --;
System.out.println("while循环:" + i);
}
3 常用工具类
- 输入输出:
//获取到扫描器实例
Scanner input=new Scanner(System.in);
//等待和接收输入
String str1 = input.next();
//讲输入的内容输出到控制台
System.out.println(str1);
- 字符串操作:长度、截取、拼接、大小写转换、对比、与其他类型的转换。
- 时间操作:时间格式化、时间计算、时间前后判断。
- 基础类型的大写:就行阿拉伯字母有中文大写一样。
- 数学计算:Math类
- 异常处理。
4 常见数据结构
4.1 数组
//定义数组:长度一定
String[] strs = new String[10];
//数组赋值
strs[0] = "hello";
strs[1] = "world";
//输出某个内容
System.out.println(strs[0]);
//数组循环输出(即迭代器输出)
for (String s : strs) {
System.out.println(s);
}
4.2 List
//列表:长度不限
List<String> list = new ArrayList<>();
list.add("hello");
list.add("world");
System.out.println(list.get(0));
4.3 Map
- 键值对
//Map:键值对
Map<String,String> map = new HashMap<>();
//put key-value 进入map
map.put("key","value");
map.put("name","徐建");
//从map中根据key 取得(get) 值
System.out.println(map.containsKey("name"));
System.out.println(map.get("name"));
4.4 Object
- 万事万物都是Object
5 文件操作
- 使用FileInputStream、FileOutputStream进行文件操作。
- 为他人提供一个工具类:写一个utils类
- 文件操作工具类
import java.io.FileInputStream;
import java.io.FileOutputStream;
/**
*
* 文件操作工具类
**/
public class FileUtils {
/**
* 读取文件
* */
public static String read(String content,String from) throws Exception{
FileInputStream in = new FileInputStream(from);
byte[] bs = new byte[in.available()];
in.read(bs);
in.close();
return new String(bs);
}
/**
* 写入文件
* */
public static void write(String content,String to) throws Exception{
FileOutputStream out = new FileOutputStream(to);
out.write(content.getBytes());
out.flush();
out.close();
}
/**
* 拷贝文件
* */
public static void copy(String from,String to) throws Exception{
//1. 取得输入、输出流
FileInputStream in = new FileInputStream(from);
FileOutputStream out = new FileOutputStream(to);
//2.定义一个变量,记住每一个读取的字节
int len;
//3.获取拷贝文件前系统时间
long beginTime = System.currentTimeMillis();
//4.读取字节,判断是否到达文件末尾
while((len = in.read()) != -1) {
out.write(len);//写入文件
}
//5.获取文件拷贝结束时间并输出
long endTime = System.currentTimeMillis();
System.out.println("拷贝文件所消耗的时间为:" + (endTime - beginTime) +"毫秒");
//6.关闭输入输出流
in.close();
out.close();
}
}
- 使用他人的工具(讲Spring Boot的时候再体验)
6 Java面向对象
- 面向对象的特征:封装、继承、多态
6.1 封装
在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。
封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
要访问该类的代码和数据,必须通过严格的接口控制。
封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
封装的优点
- 良好的封装能够减少耦合。
- 类内部的结构可以自由修改。
- 可以对成员变量进行更精确的控制。
- 隐藏信息,实现细节。
6.2 继承
- 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
- 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
public class Extends {
/**
* 父类:动物
* */
public static class Animal {
//每种动物都有一个种类名称
public String kindName;
//每种动物都有DNA序列
public String dnaLicense;
//每种动物都具有吃东西的功能(方法)
public void eat(String sth){
}
}
/**
* 子类:狗
* 狗是一种动物,可以继承动物中共用的属性、方法
* */
public static class Dog extends Animal{
//继承:假设有个输出动物信息的方法,则可以使用Animal类中的变量、方法,即继承
public void info(){
//输出父类的种类名称
System.out.println(this.kindName);
//输出父类的DNA序列
System.out.println(this.dnaLicense);
//调用父类的吃方法
this.eat("baba");
}
}
}
6.3 多态
- 即多种形态
- 子类能具备与父类不同、与兄弟类不同的方法、变量,或者同样的方法具备不同的功能的,就可以理解为多态
- 再上述封装的基础上,我们再建立“移动”这个功能
- 子类狗:移动方式是奔跑
- 子类鱼:移动方式是游泳
public class Extends {
/**
* 父类:动物
* */
public static class Animal {
//每种动物都有一个种类名称
public String kindName;
//每种动物都有DNA序列
public String dnaLicense;
//每种动物都具有吃东西的功能(方法)
public void eat(String sth){
}
public void move(){
System.out.println("父类移动方法");
}
}
/**
* 子类:狗
* 狗是一种动物,可以继承动物中共用的属性、方法
* */
public static class Dog extends Animal{
//继承:假设有个输出动物信息的方法,则可以使用Animal类中的变量、方法,即继承
public void info(){
//输出父类的种类名称
System.out.println(this.kindName);
//输出父类的DNA序列
System.out.println(this.dnaLicense);
//调用父类的吃方法
this.eat("baba");
}
@Override
public void move() {
System.out.println("狗的移动方法是奔跑");
}
}
/**
* 子类:鱼
* 鱼是一种动物,可以继承动物中共用的属性、方法
* 鱼的移动方法是游泳
* */
public static class Fish extends Animal{
@Override
public void move() {
System.out.println("狗的移动方法是游泳");
}
}
}
7 结语
- 是时候了,慢慢进入状态。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?