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

news2024/10/7 20:25:02

该资源是关于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-100
        System.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
     //创建ImageIcon
     ImageIcon 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.coloradmin.cn/o/767523.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】STL——vector的使用、 vector增删查改函数的介绍和使用、push_back和pop_back、operator[]

文章目录 1.vector的使用2.vector的增删查改&#xff08;1&#xff09;push_back 尾插&#xff08;2&#xff09;pop_back 尾删&#xff08;3&#xff09;find 查找&#xff08;4&#xff09;insert 在position之前插入val &#xff08;5&#xff09;erase 删除指定位置的数据&…

EXCEl——单元格移除换行

方法一&#xff1a;使用清除格式功能 步骤如下: 1.选中需要取消换行的单元格 2.在“开始"选项卡中找到"清除”功能&#xff0c;点击下拉菜单中的“清除格式" 3.这时单元格的换行就被取消了。 清除前效果图 清除后效果图 方法一&#xff1a;使用函数功能 步骤…

Camtasia Studio 2023保存为mp4格式的视频的详细教程,Camtasia的视频导出功能

很多用户刚接触Camtasia Studio&#xff0c;不熟悉如何保存mp4格式的视频。在今天的文章中小编为大家带来了Camtasia Studio 2023保存为mp4格式的视频的详细教程介绍。 1、 打开Camtasia Studio。 Camtasia Studio- 2023 win&#xff1a; https://souurl.cn/1JFEsn Camtasia …

HACKATHONCTF_1靶场详解

HACKATHONCTF_1靶场复盘 这个靶场有点CTF感觉&#xff0c;一步一步的没有什么难度。 下载地址&#xff1a;https://download.vulnhub.com/hackathonctf/ctf.zip 扫到ip后对ip进行一个单独扫描&#xff0c;发现开了四个端口&#xff0c;ssh设置到7223上了&#xff0c;这个很重…

SPP、SPPF 、 SimSPPF 、 ASPP、 SPPCSPC详解

分享自&#xff1a;https://blog.csdn.net/weixin_43694096/article/details/126354660 1. 原理 1.1 SPP&#xff08;Spatial Pyramid Pooling&#xff09; SPP 模块是何凯大神在2015年的论文《Spatial Pyramid Pooling in Deep Convolution Networks for Visual Recognitio…

前端工程化第一章:webpack基础(上)

文章目录 1. 什么是webpack&#xff1f;2. webpack使用2.2. 前置知识2.1. 创建一个项目 3. webpack打包3.1. 创建一个webpack.config.js文件3.2. 入口&#xff08;entry&#xff09;3.2.1. webpack.config.js3.2.2. src/index.js3.2.3. package.json 3.3. 输出&#xff08;outp…

C++第三讲

思维导图 手动封装一个顺序栈类&#xff08;数据元素为整形&#xff09;&#xff0c;要求私有成员属性&#xff1a;堆区空间的指针&#xff0c;用于存放数据&#xff0c;和一个指向栈顶元素的变量 /* ---------------------------------author&#xff1a;YoungZorncreated on…

nacos集群地址配置问题

#it is ip #example 127.0.0.1:8848 127.0.0.1:8849 127.0.0.1:8850 上面的配置可能存在配置失败的情况,可以采用下面的配置 127.0.0.1:8845 127.0.0.1.8846 127.0.0.1.8847 该配置在cluster.conf文件里面

还在使用冒泡排序遍历数组?No No No 库函数qsort帮你搞定所有排序还不快学起来!

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《快速入门C语言》《C语言初阶篇》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 前言&#x1f4ac; 库函数qsort的介绍&#x1f4ac; 库函数qsort的参数介绍&#x1f4ad; 参数一 (void* base)…

Acwing.908 最大不相交区间数量(贪心)

题目 给定N个闭区间[ai,bi]&#xff0c;请你在数轴上选择若干区间&#xff0c;使得选中的区间之间互不相交&#xff08;包括端点)。输出可选取区间的最大数量。 输入格式 第一行包含整数N&#xff0c;表示区间数。 接下来N行&#xff0c;每行包含两个整数ai , bi&#xff0c…

【基于 GitLab 的 CI/CD 实践】03、GitLab Pipeline 实践(上)

目录 一、GitLab Pipeline 流水线语法有哪些&#xff1f;流水线参数列表 如何检查语法错误&#xff1f;流水线语法检测 二、Pipeline 基础语法 job script before_script after_script stages 未定义 stages ​定义 stages 控制 stage 运行顺序 .pre & .post …

2010年中国生态系统服务空间数据集

摘要 生态系统服务是生态系统形成并维持的人类赖以生存和发展的环境条件与效用&#xff0c;是测度自然生态系统保护价值的重要指标。采用科学方法模拟生态系统服务的空间分布对掌握当前我国生态本底状况&#xff0c;识别生态保护重要区&#xff0c;从而有效支持生态管理决策具…

关于金融英语的翻译技巧,你了解多少呢

据了解&#xff0c;金融英语除了具备通用英语特点之外 &#xff0c;还具备自己独特的特征&#xff0c;如专有名词多、专业术语量大、专业缩略词等。为了确保译文的准确性&#xff0c;翻译金融英语时要注意以下几点技巧。 一、专业术语坚持直译。金融翻译中涉及大量金融英语特有…

day10_practice

用面向对象思想实现数据分析 1、设计类&#xff0c;完成数据封装 2、设计抽象类&#xff0c;定义文件读取相关功能&#xff0c;使用子类实现具体功能(由于两份文件格式不同) 3、读取文件&#xff0c;产生数据对象 4、计算每天销售额 5、绘图 一、数据封装类设计 ""…

Python读取骑行fit文件

目录 故事背景安装输出有心率和无心率的数据为NO.fit文件增加心率数据并保存参考文献 故事背景 有一天&#xff0c;我使用wahoo码表骑行记录了一段没有心率带的数据&#xff0c;导出fit文件至电脑。上传至捷安特APP&#xff0c;结果说数据不完整&#xff0c;此时想用代码把心率…

以结果为导向的网络安全需要全面的方法

Positive Technologies 信息安全分析师 Fedor Chunizhekov 谈论了该地区不断变化的网络安全形势&#xff0c;并重点介绍了其 "中东网络安全威胁形势 "报告中影响中东地区的要点。他还强调&#xff0c;为了解决核心安全问题&#xff0c;我们需要采用一种全面的方法来实…

安全性测试的测试点

安全性测试的测试点 1.跨网站脚本攻击 通过脚本语言的缺陷模拟合法用户&#xff0c;控制其账户&#xff0c;盗窃敏感数据 2.注入攻击 通过构造查询对数据库、LDAP和其他系统进行非法查询 3.恶意文件执行 在服务器上执行Shell 命令Execute&#xff0c;获取控制权 4.伪造跨…

企业如何选择通配符SSL证书?

很多企业网站因为业务需要&#xff0c;在同一个主域名下通常会有多个子域名。在这种情况下申请SSL证书就要很慎重&#xff0c;既要考虑到网站安全需要&#xff0c;又要考虑经济实惠。因此 OV 型的通配符证书非常适合这类企业网站。 为什么要选择通配符SSL证书&#xff1f; 通…

(Linux)查看端口占用并关闭进程

端口 查看端口占用 查看端口占用netstat -anp | grep 端口号 → 列出所有端口netstat -tunlp |grep 3306 → 端口号netstat -tunlp |grep mysql → 进程名称netstat -tunlp |grep 29520 → 进程IDnetstat -tunlp | grep 3306-t: 显示 TCP 连接-u: 显示 UDP 连接-n: 显示数字…

(linux) 查看日志文件

工作用常用 服务器查看日志cat opt/service/logs/logfile.log查看 logfile.log 日志文件tail -f -n -500 opt/service/logs/logfile.log动态查看日志vim opt/service/logs/file.logvi opt/service/logs/file.log可以快速查看日志第一行cat opt/service/logs/logfile.log | gre…