JAVA进阶10
间歇性混吃等死,持续性踌躇满志系列-------------第10天
1、Random

package cn.intcast.day08.demo01;
import java.util.Random;
public class Demo02Random {
public static void main(String[] args) {
Random r = new Random();
int s = r.nextInt();
System.out.println("生成的随机数为:"+s);
}
}
运行结果图

2、JFrame框架窗体

package code0320; import javax.swing.*;
import java.awt.*; //定义一个类继承JFrame类
public class Example1 extends JFrame {
//定义一个CreateJFrame()方法
public void CreateJFrame(String title){
//实例化一个JFrame对象
JFrame jf = new JFrame(title);
//获取一个容器
Container container = jf.getContentPane();
//创建一个JLabel标签
JLabel jl = new JLabel("这是一个JFrame窗体");
//使标签上的文字居中
jl.setHorizontalAlignment(SwingConstants.CENTER);
//将标签添加到容器中
container.add(jl);
//设置容器的背景颜色
container.setBackground(Color.white);
//使窗体可视
jf.setVisible(true);
//设置窗体大小
jf.setSize(400,350);
//设置窗体关闭方式
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
//在主方法中调用CreateJFrame()方法
public static void main(String[] args) {
new Example1().CreateJFrame("JFrame窗体");
}
}
运行结果图

3、Random:猜数字小游戏

package cn.intcast.day08.demo01; /*
*思路
* 1 首先需要产生一个随机数,并且一旦产生不再变化
* 2 需要键盘输入,所以用到了Scanner
* 3 获取键盘输入的数字,用Scanner当中的nextInt方法
* 4 已经得到了两个数字,判断(if)一下,
* 如果太大了,提示太大,并重试
* 如果太小,提示太小,并重试
* 5 重试就是再来一次,循环次数不确定,用while(true)
*
*/ import java.util.Random;
import java.util.Scanner; public class Demo02Random {
public static void main(String[] args) {
Random r = new Random();
int num = r.nextInt(100)+1;
Scanner s = new Scanner(System.in);
while (true){
//键盘输入猜测的数字
System.out.println("请输入你猜测的数字:");
int num1 = s.nextInt();
if (num<num1){
System.out.println("太大,重试");
}else if (num>num1){
System.out.println("太小,重试");
}else {
System.out.println("恭喜你,猜中了!!!");
//如果猜中,不再重试
break;
}
}
System.out.println("游戏结束。");
}
}
运行结果图

4、ArrayList集合
package cn.intcast.demo10;
public class Person {
private String name;
private int age;
private String sex;
//无参构造
public Person() {
}
//全参构造
public Person(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
Person类
package cn.intcast.demo10;
/*
* 题目:
* 定义一个数组,用来存储3个person对象
*
* 数组有一个缺点:一旦创建,则程序运行期间长度不可以发生改变
*/
public class Array01 {
public static void main(String[] args) {
//首先创建一个长度为3的数组,里面用来存放person类型的对象
Person [] array = new Person[4];
Person one = new Person("林丹",24,"男");
Person two = new Person("姚明",25,"男");
Person three = new Person("詹姆斯",26,"男"); //将one当中的地址值赋值到数组的0号元素位置
array[0] = one;
array[1] = two;
array[2] = three; System.out.println(array[0].getName());
System.out.println(array[1].getName());
System.out.println(array[2].getName());
}
}
数组
运行结果图

JAVA进阶10的更多相关文章
- java进阶(10)--String(StringBuff、StringBuilder)
一.基本概念 1.String为引用数据类型,使用双引号 2.字符串数组存储在方法区的内存池,因为开发过程种使用过于频繁 3.String类已经重写了equals,比较时使用,同时也重写了toStri ...
- Java 进阶 hello world! - 中级程序员之路
Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...
- 当我们说线程安全时,到底在说什么——Java进阶系列(二)
原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数 ...
- 从ConcurrentHashMap的演进看Java多线程核心技术 Java进阶(六)
本文分析了HashMap的实现原理,以及resize可能引起死循环和Fast-fail等线程不安全行为.同时结合源码从数据结构,寻址方式,同步方式,计算size等角度分析了JDK 1.7和JDK 1. ...
- JAVA进阶之旅(二)——认识Class类,反射的概念,Constructor,Field,Method,反射Main方法,数组的反射和实践
JAVA进阶之旅(二)--认识Class类,反射的概念,Constructor,Field,Method,反射Main方法,数组的反射和实践 我们继续聊JAVA,这次比较有意思,那就是反射了 一.认识 ...
- JAVA进阶之旅(一)——增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法
JAVA进阶之旅(一)--增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法 学完我们的java之旅,其实收获还是很多的,但是依然还有很 ...
- Java进阶(三十八)快速排序
Java进阶(三十八)快速排序 前言 有没有既不浪费空间又可以快一点的排序算法呢?那就是"快速排序"啦!光听这个名字是不是就觉得很高端呢. 假设我们现在对"6 1 2 7 ...
- Java进阶(三十七)java 自动装箱与拆箱
Java进阶(三十七)java 自动装箱与拆箱 前言 这个是jdk1.5以后才引入的新的内容.java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装称为装箱,解包装称为 ...
- Java进阶(三十二) HttpClient使用详解
Java进阶(三十二) HttpClient使用详解 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们 ...
随机推荐
- 1.5 下载和安装VMWare
搭建虚拟环境一般都有两种方法,一种是系统自带的虚拟机,还有一种是下载VMware,Win8和Win10都自带有虚拟机,但是都不是自动开启的,所以我们必须手动开启. 一.Win10开启虚拟机 在命令行输 ...
- python3 json模块
import json '''把python对象转化为json串(字符串), ensure_ascii处理中文乱码'''dic = {"复联4": "好看吗", ...
- Linux内核入门到放弃-时间管理-《深入Linux内核架构》笔记
低分辨率定时器的实现 定时器激活与进程统计 IA-32将timer_interrupt注册为中断处理程序,而AMD64使用的是timer_event_interrupt.这两个函数都通过调用所谓的全局 ...
- Android测试(四):Instrumented 单元测试
原文:https://developer.android.com/training/testing/unit-testing/instrumented-unit-tests.html Instrume ...
- (转)lwip TCP client & FreeRTOS 打开TCP 的 保活机制 LWIP_TCP_KEEPALIVE==1
参考大神教程:http://blog.sina.com.cn/s/blog_62a85b950101aw8x.html 老衲五木 :http://blog.sina.com.cn/s/blog_6 ...
- java oop 集合框架
集合主要是用来存放数据的,集合与数组的主要区别在于,集合的大小不受限制,而数组的大小受限制,在使用集合增加数据时又常常与泛型联系起来,所以集合和泛型在实际开发过程中总会结合在一起 数组致命的缺点是数组 ...
- openstack搭建之-keystone配置(8)
一. Base Node配置 mysql -uroot -proot CREATE DATABASE keystone GRANT ALL PRIVILEGES ON keystone.* to 'k ...
- Flask中使用数据库连接池 DBUtils ——(4)
DBUtils是Python的一个用于实现数据库连接池的模块. 此连接池有两种连接模式: 模式一:为每个线程创建一个连接,线程即使调用了close方法,也不会关闭,只是把连接重新放到连接池,供自己线程 ...
- SSM项目使用GoEasy 实现web消息推送服务
一.背景 之前项目需要做一个推送功能,最开始我用websocket实现我的功能.使用websocket的好处是免费自主开发,但是有几个问题:1)浏览器的兼容问题,尤其是低版本的ie:2)因为是推送 ...
- 搭建Node.js的Web框架egg.js
1 egg.js的Request处理流程: 2. 使用nodejs下载egg.js框架 (1)现在nodejs中全局安装egg-init 即在nodejs安装根目录下执行 : d:cd nodejs ...