疯踏java知识点-进阶精讲篇

该资源是关于Java的师生管理系统,可以学习借鉴一下。

继续进行讲解,如果前面有不懂的,可以翻阅一下同专栏的其他文章,该专栏是针对Java的知识从0开始。

在这里插入图片描述

JavaBean

    一个Java中的类,其对象可用于程序中封装数据举例:学生类,手机类要求:1、成员变量使用private修饰2、提供每一个成员变量对应的setXxx()/getXxx()3、提供一个无参构造方法

案例

public class crj {public static void main(String[] args) {Student s = new Student();s.setName("林青霞");s.setAge(30);System.out.println(s.getName() + "," + s.getAge());}
}
public class Student {private String name;private int age;public Student() {}public void setName(String name) {this.name = name;}public String getName() {return name;}public void setAge(int age) {this.age = age;}public int getAge() {return age;}
}

在这里插入图片描述

再举一个 手机JavaBean

public class crj {public static void main(String[] args) {//无参构造方法+set方法Phone p1=new Phone();p1.setBrand("小米");p1.setPrice(2999);System.out.println(p1.getBrand()+","+p1.getPrice());//带参构造方法Phone p2 =new Phone("小米",2999);System.out.println(p2.getBrand()+","+p2.getPrice());}
}
public class Phone {private String brand;private int price;public Phone(){}public Phone(String brand, int price) {this.brand = brand;this.price = price;}public String getBrand() {return brand;}public void setBrand(String brand) {this.brand = brand;}public int getPrice() {return price;}public void setPrice(int price) {this.price = price;}
}

在这里插入图片描述

Scanner基本使用

 文本扫描程序,可以获取基本类型数据和字符串数据当我们需要从控制台或文件中读取输入时,Java中的Scanner类提供了一种方便的方式来实现。Scanner类位于java.util包中,它可以解析基本类型和字符串,并提供了多种方法来读取不同类型的输入。

案例

import java.util.Scanner;public class crj {public static void main(String[] args) {//创建对象Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数:");int i = sc.nextInt();System.out.println("你输入的整数是" + i);}
}
一旦获得Scanner对象,我们可以使用各种方法来读取输入。下面介绍几个常用
的方法:next(): 读取并返回输入中的下一个字符串,遇到空格或换行符时停止读取。
nextInt(): 读取并返回输入中的下一个整数。
nextDouble(): 读取并返回输入中的下一个浮点数。
nextLine(): 读取一行输入,并返回该行的字符串,可以包含空格。

再举一个数据求和的案例

import java.util.Scanner;public class crj {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请输入第一个数字:");int First=sc.nextInt();System.out.println("请输入第二个数字:");int Second=sc.nextInt();int sum =First+Second;System.out.println("求和结果是:"+sum);}
}

在这里插入图片描述

再举一个随机数的案例

import java.util.Random;public class crj {public static void main(String[] args) {Random r=new Random();int number=r.nextInt(101)+1;//1-100System.out.println(number);}
}

综合案例:猜数字游戏

import java.util.Random;
import java.util.Scanner;public class crj {public static void main(String[] args) {Random r= new Random();int number=r.nextInt(100)+1;System.out.println("系统已经产生一个1-100的随机整数");while (true) {Scanner sc =new Scanner(System.in);System.out.println("请输入你要猜的数字:");int guessNumber=sc.nextInt();if (guessNumber > number) {System.out.println("你猜的数据" + guessNumber + "大了");} else if (guessNumber < number) {System.out.println("你猜的数据" + guessNumber + "小了");} else {System.out.println("恭喜你猜中了");break;}}}
}

GUI Graphical User Interface 图形用户接口

    java.awt包:——抽象窗口工具包javax.swing包:组件:是具有图形表示的对象,该图形表示可以显示在屏幕上并且可以和用户交互

JFrame 一个顶层窗口

构造方法    JFrame():构造一个最初不可见的窗体
成员方法void setVisible(boolean b):显示或隐藏窗口void setSize(int width,int height):调整大小(像素)void setTitle(String title) 设置窗口标题void setLocationRelativeTo(Component c)设置位置 值为null 则窗体位于屏幕中央void setDefaultCloseOperation(int operation)设置窗口关闭默认操作 3表示窗口关闭时退出应用程序void setAlwaysOnTop(boolean alwaysOnTop) 设置此窗口位于其他窗口之上
import javax.swing.*;public class crj {public static void main(String[] args) {//创建窗口对象JFrame jf=new JFrame();//设置标题jf.setTitle("百度一下就知道了");//设置窗口大小jf.setSize(400,400);//设置窗口关闭默认操作——3表示退出程序jf.setDefaultCloseOperation(3);//移动到屏幕中央jf.setLocationRelativeTo(null);//窗体始终在最上面jf.setAlwaysOnTop(true);//窗口可见jf.setVisible(true);}
}

JButton 按钮的实现

构造方法JButton(String text):创建一个带文本的按钮
成员方法void setSize(int width,int height) 设置大小void setLocation(int x,int y) 设置位置(x,y坐标)
import javax.swing.*;public class crj {public static void main(String[] args) {JFrame jf=new JFrame();jf.setTitle("窗体中创建按钮");jf.setSize(400,400);jf.setDefaultCloseOperation(3);jf.setLocationRelativeTo(null);jf.setAlwaysOnTop(true);//取消窗体默认布局jf.setLayout(null);//创建按钮JButton btn=new JButton("按钮");btn.setBounds(100,100,100,20);JButton btn2=new JButton("按钮2");btn2.setBounds(100,120,100,20);jf.add(btn);jf.add(btn2);jf.setVisible(true);}
}

在这里插入图片描述

JLabel 短文本字符串或图像的显示区域

构造方法JLabel(String text):使用指定的文本创建JLabel实例JLabel(lcon image):使用指定的图像创建JLabel实例Imagelcon(String filename):从指定的文件创建Imagelcon文件路径:绝对路径和相对路径
成员方法void setBounds
import javax.swing.*;public class crj {public static void main(String[] args) {JFrame jf=new JFrame();//设置标题jf.setTitle("显示文本和图像");jf.setSize(400,400);jf.setDefaultCloseOperation(3);jf.setLocationRelativeTo(null);jf.setAlwaysOnTop(true);jf.setLayout(null);//显示文本JLabel jLabel=new JLabel("好好学习");jLabel.setBounds(0,0,100,20);//显示图像//方法a//创建ImageIconImageIcon icon1 = new ImageIcon("文件位置");//创建JLabel管理容器JLabel jLabel1 = new JLabel(icon1);//设定图片位置jLabel1.setBounds(50,50,57,57);jf.add(jLabel);jf.add(jLabel1);jf.setVisible(true);}
}   

在这里插入图片描述

GUI案例1 用户登录

import javax.swing.*;public class crj {public static void main(String[] args) {JFrame jf=new JFrame();jf.setTitle("用户登录");jf.setSize(400,300);jf.setDefaultCloseOperation(3);jf.setLocationRelativeTo(null);jf.setAlwaysOnTop(true);jf.setLayout(null);//显示用户名文本JLabel usernameLable=new JLabel("用户名");usernameLable.setBounds(50,50,50,20);jf.add(usernameLable);//输入框JTextField usernameFiled=new JTextField();usernameFiled.setBounds(150,50,180,20);jf.add(usernameFiled);//显示密码文本JLabel passworldLable=new JLabel("密码");passworldLable.setBounds(50,100,50,20);jf.add(passworldLable);//输入框
//        JTextField passworldFiled=new JTextField();
//        passworldFiled.setBounds(150,100,180,20);
//        jf.add(passworldFiled);//密码输入框改进JPasswordField passworldFiled=new JPasswordField();passworldFiled.setBounds(150,100,180,20);jf.add(passworldFiled);//登录按钮JButton loginButton=new JButton("登录");loginButton.setBounds(50,200,280,20);jf.add(loginButton);jf.setVisible(true);}
}

GUI案例2 聊天室

import javax.swing.*;
public class crj {public static void main(String[] args) {JFrame jf=new JFrame();jf.setTitle("聊天室");jf.setSize(400,300);jf.setDefaultCloseOperation(3);jf.setLocationRelativeTo(null);jf.setAlwaysOnTop(true);jf.setLayout(null);//聊天信息文本框JTextArea massageArea=new JTextArea();massageArea.setBounds(10,10,360,200);jf.add(massageArea);//输入信息文本框JTextField massageField=new JTextField();massageField.setBounds(10,230,180,20);jf.add(massageField);//发送按钮JButton sendButton=new JButton("发送");sendButton.setBounds(200,230,70,20);jf.add(sendButton);//清空聊天按钮JButton clearButton=new JButton("清空聊天");clearButton.setBounds(280,230,100,20);jf.add(clearButton);jf.setVisible(true);}
}

在这里插入图片描述

GUI案例3 猜数字

import javax.swing.*;
public class crj {public static void main(String[] args) {JFrame jf=new JFrame();jf.setTitle("猜数字");jf.setSize(400,300);jf.setDefaultCloseOperation(3);jf.setLocationRelativeTo(null);jf.setAlwaysOnTop(true);jf.setLayout(null);//提示信息JLabel messageLable=new JLabel("系统产生了一个1~100之间的数字,请猜一猜");messageLable.setBounds(70,50,350,20);jf.add(messageLable);//猜数字文本框JTextField numberFiled=new JTextField();numberFiled.setBounds(120,100,150,20);jf.add(numberFiled);//猜数字按钮JButton guessButton=new JButton("我猜");guessButton.setBounds(150,150,100,20);jf.add(guessButton);jf.setVisible(true);}
}

GUI案例4 手机日期和时间显示

import javax.swing.*;
public class crj {public static void main(String[] args) {JFrame jf=new JFrame();jf.setTitle("手机日期和时间显示");jf.setSize(400,300);jf.setDefaultCloseOperation(3);jf.setLocationRelativeTo(null);jf.setAlwaysOnTop(true);jf.setLayout(null);//提示日期JLabel dataLable=new JLabel("日期");dataLable.setBounds(50,50,100,20);jf.add(dataLable);//按格式显示日期JLabel showDataLable=new JLabel("xxxx年xx月xx日");showDataLable.setBounds(50,80,200,20);jf.add(showDataLable);//提示时间JLabel timeLAble=new JLabel("时间");timeLAble.setBounds(50,150,100,20);jf.add(timeLAble);//按格式显示时间JLabel showTimeLable=new JLabel("xx:xx");showTimeLable.setBounds(50,180,200,20);jf.add(showTimeLable);jf.setVisible(true);}
}

GUI案例5 考勤查询

import com.itheima_05.DateChooser;import javax.swing.*;
public class crj {public static void main(String[] args) {JFrame jf=new JFrame();jf.setTitle("考勤查询");jf.setSize(400,300);jf.setDefaultCloseOperation(3);jf.setLocationRelativeTo(null);jf.setAlwaysOnTop(true);jf.setLayout(null);//显示考勤日期JLabel dataLable=new JLabel("考勤日期");dataLable.setBounds(50,20,100,20);jf.add(dataLable);//开始时间JLabel startDateLable =new JLabel("开始时间");startDateLable.setBounds(50,70,100,20);jf.add(startDateLable);DateChooser dateChooser1 = DateChooser.getInstance("yyyy/MM/dd");DateChooser dateChooser2 = DateChooser.getInstance("yyyy/MM/dd");//开始时间输入框JTextField startDateField=new JTextField();startDateField.setBounds(50,100,100,20);dateChooser1.register(startDateField);jf.add(startDateField);//结束时间JLabel endDateLable =new JLabel("结束时间");endDateLable.setBounds(250,70,100,20);jf.add(endDateLable);//结束时间输入框JTextField endDateField=new JTextField();endDateField.setBounds(250,100,100,20);dateChooser2.register(endDateField);jf.add(endDateField);//确定按钮JButton confirmButton=new JButton("确定");confirmButton.setBounds(250,180,60,20);jf.add(confirmButton);jf.setVisible(true);}
}

通过丰富的案例和详细的知识点讲解,丰富的案例和详细的知识点讲解,希望能对大家带来点帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/23167.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式——访问者模式

访问者模式 定义 封装一些的对于某种数据结构中的各元素的操作&#xff0c;它可以在不改变数据的前提下定义作用于这些元素的新的操作 访问者模式&#xff08;Visitor pattern&#xff09;是相对简单的模式&#xff0c;也可以作为迭代器模式的补充 优缺点、应用场景 优点 …

深入解析浏览器Cookie(图文码教学)

深入解析浏览器Cookie 前言一、什么是 Cookie?二、Cookie的特点二、如何创建 Cookie&#xff1f;三、服务器如何获取 Cookie四、Cookie 值的修改4.1 方案一4.2 方案二 五、浏览器查看 Cookie六、Cookie 生命控制七、Cookie 有效路径 Path 的设置八、案例&#xff1a;Cookie 练…

Linux学习之环境变量

环境变量是每个Shell打开就能获取到的变量&#xff0c;即一打开终端就已经初始化的变量。set、env和declare都可以查看变量的值。按照可以查看信息的范围从小到大是env<set<declare。 env只能显示全局变量。 set可以输出所有的变量&#xff0c;包括全局变量和局部变量。…

软考高级架构师笔记-9系统架构

目录 1. 前文回顾 & 考情分析2. 软件架构概述3. 软件架构风格3.1 层次架构风格3.2 面向服务架构风格4. 软件架构复用5. 特定领域软件体系结构DSSA6. ABSD7. 质量属性8. 架构评估9 结语1. 前文回顾 & 考情分析 前文回顾: 软考高级架构师笔记-1计算机硬件软考高级架构师…

IDEA项目报错随笔记录

文章目录 1. 无效的源发行版: 172. java: 无法访问org.springframework.boot.SpringApplication3. java: 程序包org.junit.jupiter.api不存在4. SpringbootTest注解爆红5. maven命令安装本地jar包报错&#xff1a;[拒绝访问]5. maven命令安装本地jar包报错&#xff1a;Unknown …

Kafka 概述、Filebeat+Kafka+ELK

Kafka 概述、FilebeatKafkaELK 一、为什么需要消息队列&#xff08;MQ&#xff09;1、使用消息队列的好处2、消息队列的两种模式 二、Kafka 定义1、Kafka 简介2、Kafka 的特性3、Kafka 系统架构 三、部署 kafka 集群1.下载安装包2.安装 Kafka3.Kafka 命令行操作 四、Kafka 架构…

吴恩达机器学习2022-Jupyter-机器学习实例

1 可选实验: 特征工程和多项式回归 1.1 目标 在这个实验室里: 探索特征工程和多项式回归&#xff0c;它可以让你使用线性回归机制来适应非常复杂&#xff0c;甚至非常非线性的函数。 1.2 工具 您将利用在以前的实验中开发的函数以及matplotlib和NumPy。 2 特征工程与多项式…

使用Gradio库进行交互式数据可视化:Timeseries模块介绍

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

【Hippo4j监控Web容器Tomcat线程池】

&#x1f680; 线程池管理工具-Hippo4j &#x1f680; &#x1f332; AI工具、AI绘图、AI专栏 &#x1f340; &#x1f332; 如果你想学到最前沿、最火爆的技术&#xff0c;赶快加入吧✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;CSDN-Java领域优质创作者&#…

traceId跟踪请求全流程日志

一个系统被拆分成N多个模块&#xff0c;这些模块负责不同的功能&#xff0c;组合成一套系统&#xff0c;最终可以提供丰富的功能。在这种分布式架构中&#xff0c;一次请求往往需要涉及到多个服务&#xff0c;如下图&#xff1a; 服务之间的调用错综复杂&#xff0c;对于维护的…

JVM系列(6)——类加载器详解双亲委派

一、类加载器 类加载器是一个负责加载类的对象&#xff0c;用于实现类加载过程中的加载这一步。 主要作用就是加载 Java 类的字节码&#xff08; .class 文件&#xff09;到 JVM 中&#xff08;在内存中生成一个代表该类的 Class 对象&#xff09;。 加载过程可以看 JVM系列&a…

《面试1v1》Kafka基础

&#x1f345; 作者简介&#xff1a;王哥&#xff0c;CSDN2022博客总榜Top100&#x1f3c6;、博客专家&#x1f4aa; &#x1f345; 技术交流&#xff1a;定期更新Java硬核干货&#xff0c;不定期送书活动 &#x1f345; 王哥多年工作总结&#xff1a;Java学习路线总结&#xf…