
Java基础
ggyuenci
代码虐我千百遍,我待代码如初恋
展开
-
Java到底是值传递还是引用传递
网上很多文章来讲JAVA的传递,一部分说是引用传递,一部分说是值传递。直到读到《Java核心技术 卷I》 第四章对象和类有明确的例子来说明这个问题。1.对象变量并没有实际包含一个对象首先我们要认识到Java中 一个对象变量并没有实际包含一个对象,而仅仅引用一个对象。《Java核心技术 卷Ⅰ》P97从jvm的角度讲,声明的变量保存在栈中仅保存一个值,所有的对象具体的内容保存在堆中。如果一个将一个对象复制给一个变量,那么这个变量只保存地址 如下图所示。
1、图片top.bmp位于C盘根目录下,要求将此图片复制到D:\myDoc\myPicture.bmppackage homework;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io....原创 2019-04-02 19:15:03 · 3429 阅读 · 0 评论 -
第6章:集合框架(上:泛型)
文章目录第1节:泛型泛型作用Java泛型特点泛型类与泛型方法实现泛化集合工具第1节:泛型泛型作用泛型是JavaSE1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法泛型是类型的“类型参数”,它们也被称为参数化类型。Java语言引入泛型的好处是安全简单。可以将运行时类型相关错误提前...原创 2019-03-29 13:44:20 · 266 阅读 · 0 评论 -
Java多线程总结
文章目录1.基本概念2.创建进程2.1 创建 java.lang.Thread 类的子类,重写该类的 run方法1.基本概念程序(program)是对数据描述与操作的代码的集合,是应用程序执行的脚本。进程(process)是程序的一次执行过程,是系统运行程序的基本单位。程序是静态的,进程是动态的。系统运行一个程序即是一个进程从创建、运行到消亡的过程。多任务(multi task)在一个系统...原创 2019-04-08 20:17:00 · 472 阅读 · 0 评论 -
java SteamAPI练习(流的创建、流的操作、流的终止)
练习题一给定一个数字列表,如何返回一个由每个数的平方构成的列表呢?,给定【1,2,3,4,5】, 应该返回【1,4,9,16,25】public class Problem1 { public static void main(String[] args) { // TODO Auto-generated method stub List<Integer> list1...原创 2019-04-03 19:49:27 · 1163 阅读 · 0 评论 -
网络编程练习(Swing组件+Socket+输入输出流)
文章目录1.服务端向客户端传递一个文件,客户端读取文件,并保存到本地。2.实现简易聊天室1.服务端向客户端传递一个文件,客户端读取文件,并保存到本地。程序具体实现:将根目录下的socket.txt文件,拷贝至另一个项目的根目录下实现思路:在AdvanceProgramming项目下创建FileServert类作为服务器端,然后再zhongruan项目下创建FileClient类作为客户端接...原创 2019-04-09 21:00:58 · 631 阅读 · 0 评论 -
Java文件输入输出总结
文章目录1. java.io.File类1.1 File类概述1.2 构造方法和方法2.字节流(InputStream类和OutputStream类)3.字符流(Reader类和Writer类)第4节: nio1. java.io.File类1.1 File类概述1.java.io.File类的对象可以表示文件和目录2.当我们有一个File对象的时候我们可以利用它来操作文件或者目录的属性。...原创 2019-04-07 13:03:30 · 757 阅读 · 0 评论 -
简单实现对象调用:创建一个LOL中的英雄类和怪物类
1、创建一个LOL中的英雄类和怪物类,要求:怪物类中加入生命值属、等级属性,生命值=等级*1000英雄类中加入“经验值”,“等级”,“攻击力”等属性变量,加入“击打”方法,击打的目标是怪物,击打的结果是怪物的生命值-英雄攻击力2、自定义一个英雄类英雄的级别最低为0,最高为30级,经验值最低为0,最高为30级时的经验值该类中要求有一个含有参数的构造函数,参数为英雄的经验值,初始化时要保证经...原创 2019-04-01 17:12:27 · 4194 阅读 · 0 评论 -
Java字符串的基本操作——逆序、统计、简单变化
作业1:题目: 把字符串abcdefg反转输出gfedcba。难度:中public static void main(String[] args) { // TODO Auto-generated method stub String old = "abcdefg"; for(int i=old.length()-1;i>=0;i--) //将其倒着输出就好 Sys...原创 2019-04-01 16:31:18 · 335 阅读 · 0 评论 -
Stream API总结
文章目录1.Stream(流)的概念2.Stream 操作三步骤2.1 创建Stream2.1.1 Collection中的Steam()方法2.1.2 Arrays类中也有Steam()方法2.1.3 Stream类中的steam()2.1.4 创建无限流2.2 中间操作2.2.1 筛选和切片2.2.2 映射2.2.3 排序2.3 终止操作2.3.1 查找与匹配2.3.2 归约2.3.3 收集...原创 2019-04-03 22:25:06 · 349 阅读 · 0 评论 -
第2章:数据类型与运算符
文章目录第1节:数据类型概述第2节:基本数据类型第3节:引用类型概述第4节:包装器类型第5节:字符串类型第6节:数组总结第1节:数据类型概述为什么要划分数据类型?Java的数据类型分哪两种?Java的类型信息存储在哪个内存逻辑区?main方法中定义了int i=1;请问这个1存储在内存哪个区?Java语言是强类型语言,所有变量都必须确定具体的数据类型;Java中两大数据类型,即基本数...原创 2019-03-30 18:36:07 · 286 阅读 · 0 评论 -
第3章:流程控制
文章目录第1节:条件分支第2节:循环总结第1节:条件分支Java语言中有哪几种条件分支语句?if后的条件语句返回值可以是1或者0吗?if必须和else一起使用吗?JDK7以后,switch后的表达式都可以是什么类型?switch/case流程中,必须有break吗?Java语言中的流程控制有两种,分别是if/else和switch/case;if后的条件表达式返回值必须是boole...原创 2019-03-30 18:37:55 · 162 阅读 · 0 评论 -
第4章:Java类的基本结构
第1节:类和对象封装是与对象有关的一个重要概念形式:将数据和行为组合在一起,并对对象的使用者隐藏数据的实现方式类和对象的概念是什么?他们是什么关系?面向对象编程的特点是什么?几个重要的特征分别是什么?类中几个主要的组成部分是什么?封装有什么好处?面向对象的编程思想,使设计程序编写程序的过程清晰化。有利于将程序模块化,可以组织比较大的团队开发程序,按模块进行分工,解决大规模问题。Ja...原创 2019-03-30 18:53:14 · 468 阅读 · 0 评论 -
第5章:深入面向对象
第1节:访问权限控制类的访问控制权限有几种?分别有什么限制?类成员的访问控制权限有几种?分别有什么限制?Java中封装如何实现?Java中的类根据是否提供public关键字来划分为两种权限:公开的类能够被所有的其他类访问,而非公开的类(default)只能被同一个包中的其他类访问Java中的封装是将通过控制成员变量访问权限,公开变量的读取和设置方法来实现的类成员的访问控制分为4中类型,...原创 2019-03-30 19:40:45 · 224 阅读 · 0 评论 -
Java基础小项目——实现人机猜拳
文章目录1.实现效果2.设计UML类图3.设计类代码4.Game类实现学习了Java的选择循环之后,结合类的基础,加上随机数。可以实现一个简单的小程序——人机猜拳1.实现效果有两个选手(Player),一名代表玩家(People),一名代表电脑(Computer)。玩家可以选择出拳类型,电脑随机出拳,若赢则积分加一,结束后可以统计分数。2.设计UML类图本程序由于人玩家与电脑玩家有许多...原创 2019-03-30 20:13:52 · 3311 阅读 · 1 评论 -
学会继承、多态、封装(1)——Java实现宠物店(领养宠物)
文章目录1.使用继承1.1 设计类图1.2 类代码1.2.1 Pet类代码1.2.2 Dog类代码1.2.3 Penguin类代码1.3 第一阶段总结2.抽象类3 改进代码,实现宠物店功能3.1 实现效果3.2 实现代码本节我们将实现一个小的宠物店系统,可以领养小狗和企鹅。1.使用继承1.1 设计类图如果不使用继承我们两种宠物有很多相同的属性和方法,所以我们创建一个Pet类作为它们的子...原创 2019-03-31 14:28:48 · 16542 阅读 · 0 评论 -
学会继承、多态、封装(2)——Java实现宠物店(领养宠物)
文章目录1.什么是多态2.使用多态3.实现喂食功能3.1 实现步骤3.2 总结1.什么是多态多态:同一个引用类型,使用不同的实例而执行不同操作如Pet pet = new Dog();2.使用多态使用多态的步骤编写父类编写子类,子类重写父类方法运行时,使用父类的类型,子类的对象向上转型实现多态的两种形式使用父类作为方法形参实现多态使用父类作为方法返回值实现多态3.实现喂食...原创 2019-03-31 15:04:12 · 4133 阅读 · 0 评论 -
Lambda表达式总结
1.Lambda表达式的基础语法Lambda是一个匿名函数,可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。**简单来说就是将原来的匿名内部类的写法进行简化。**1.1 语法一 无参数,无返回值这里我们找到一个接口叫做runnable你看,就是这么个接口,就一个...原创 2019-04-05 14:34:41 · 259 阅读 · 0 评论 -
第6章:集合框架(下:容器类)
文章目录1.Java容器框架1.1Collection接口1.1.1列表接口List1.Java容器框架在面向对象的思想中,一种数据结构被认为是一个容器。数组是一种简单的数据结构,除了数组以外Java中还有其他数据结构,被称之为容器类或者集合类。Java中有两个名称分别为Collection和Set的接口。通常我们称Collection为容器,称Set为集合。以下为集合框架的组成1.1C...原创 2019-03-29 22:03:48 · 294 阅读 · 0 评论