Java
Java基础语法,Java开发
菜鸟-传奇
关注大数据 用技术解决问题!
博客园:https://www.cnblogs.com/cainiao-chuanqi/
展开
-
Java学习:方法的引用
方法引用(Method references)lambda表达式允许我们定义一个匿名方法,并允许我们以函数式接口的方式使用它。我们也希望能够在已有的方法上实现同样的特性。方法引用和lambda表达式拥有相同的特性(例如,它们都需要一个目标类型,并需要被转化为函数式接口的实例),不过我们并不需要为方法引用提供方法体,我们可以直接通过方法名称引用已有方法。以下面的代码为例,假设我们要按照...原创 2019-08-10 17:10:00 · 201 阅读 · 0 评论 -
Java学习:方法的使用与注意事项
方法的使用与注意事项定义一个方法的格式:public static void 方法名称(){方法体}如何调用方法,格式:方法名称();方法名称的命名规则和变量一样,使用小驼峰。 方法体:也就是大括当中可以包含任意条语句。 方法定义好了之后,不会执行。如果要想执行,一定要进行方法的【调用】。方法其实就是若干语句的功能集合。方法好比是一个工厂。奶粉工厂 原料:...原创 2019-06-20 19:45:00 · 191 阅读 · 0 评论 -
Java学习:switch语句使用的注意事项
switch语句使用的注意事项:多个case后面的数值不可以重复。 switch后面的小括当中只能是下列数据类型:基本数据类型:byte/short/char/int 引用数据类型:String字符串、enum枚举、switch语句格式可以很灵活:前后顺序可以颠倒,而且break语句还可以省略。“匹配到哪一个case就从哪一个位置向下执行,直到遇到了break或者整体结束为止。”...原创 2019-06-19 15:54:00 · 165 阅读 · 0 评论 -
Java学习:数据类型转换注意事项
数据类型的转换当数据类型不一样时,将会发生数据类型转换。自动类型转换(隐式) 1.特点 :代码不需要进行特殊处理,自动完成。 2.规则 :数据范围从小到大。//左边是long类型,右边是默认的int类型,左右不一样//将右边的int常量,交给左侧的long变量进行存储//int--> long ,符合数据范围从小到大的要求long num1 = 100;Syst...原创 2019-06-18 15:19:00 · 434 阅读 · 0 评论 -
Java学习:运算符的使用与注意事项
运算符的使用与注意事项四则运算当中的加号“+”有常见的三种用法:对于数值来,那就是加法。 对于字符char类型来说,在计算之前,char会被提升成为int,然后再计算。char类型字符,和int类型数字之间的对照关系比表:ASCII,Unicode 对于字符串String(首字母大写,并不是关键字)来,加号代表字符串连操作。任何数据类型和字符串进行连接的时候,结果都会变成字符串自增...原创 2019-06-18 17:33:00 · 246 阅读 · 0 评论 -
JDK9版本以上Java独有的一个轻量级小工具,你知道吗?jshell
jshell,是JavaJDK9这个大版本更新以来,带来的一个轻量级小工具。我们再也不用进入Java目录,编写一个Java文件,然后再去编译,最后才能执行它。这里,你可以直接写一个小功能,就能去实现它。这就是jshell带来的一个小便利。介绍:jshell这是Java用来写脚本的轻量小工具。直接输入:jshell进入 退出: 输入/exit 记得一定要加/对...原创 2019-06-19 15:51:00 · 237 阅读 · 0 评论 -
java学习:循环结构的使用规则和注意事项
循环结构的基本组成部分,一般可分为四部分:初始化语句:在循环开始最初执行,而且只做唯一一次 条件判断:如果成立,则循环继续;如果不成立,则循环退出。 循环体:重复要做的事情内容,若干行语句。 进步语句:每次循环之后都要进行的扫尾工作。for循环格式:for(初始化语句;条件判断;进步语句){循环体;}while循环格式:初始化语句; while(条件判断){循环体;...原创 2019-06-19 16:55:00 · 583 阅读 · 0 评论 -
局部变量和成员变量的区别
局部变量和成员变量的区别:1.定义的位置不一样【重点】局部变量:在方法的内部 成员变量:在方法的外部,直接写在类当中2.作用范围不一样【重点】局部变量:只有方法当中才可以使用,出了方法就不能再用了 成员变量:整个类都可以通用3.默认值不一样【重点】局部变量:没有默认值,如果要想使用,必须手动进行赋值 成员变量:如果没有赋值,会有默认值,规则和数组一样4.内存的位置不一样...原创 2019-06-23 19:50:00 · 170 阅读 · 0 评论 -
Java学习:集合的使用与数组的区别
ArrayList 集合ArrayList 集合ArrayList<String> list = new ArrayList<>();对于ArrayList来说,有一个尖括号<E>代表泛型。 泛型:也就是也就是装在集合当中的所有元素,全部都是统一的什么类型 注意:泛型只能是引用类型,不能是基本类型数组有一个缺点:一旦创建,程序运行期间长度不可...原创 2019-06-27 15:43:00 · 185 阅读 · 0 评论 -
Java学习: 面向对象的使用与注意事项
面向对象的使用与注意事项面向过程:当需要实现一个功能的时候,每一个具体的步骤都需要亲力,详细处理每一个细节面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事。类与对象的关系类是对一类事物的描述,是抽象的。 对象是一类事物的实例,是具体的。 类是对象的模板,对象是类的实例。定义一个类,用来模拟“学生”事物。其中就有两组成部分:属性(...原创 2019-06-23 19:49:00 · 469 阅读 · 0 评论 -
一个标准的类通常要拥有下面四个组成部分
一个标准的类通常要拥有下面四个组成部分:所有的成员变量都要使用private关键字修饰 为每一个成员变量编写一对Getter/setter方法 编写一个无参数的构造方法 编写一个全参数的构造方法这样的标准类也叫做Java Bean标准类:public class Student{ private String name;//姓名 private int...原创 2019-06-23 19:50:00 · 1350 阅读 · 0 评论 -
常用Java API之Scanner:功能与使用方法
Scanner常用Java API之Scanner:功能与使用方法Scanner类的功能:可以实现键盘输入数据到程序当中。引用类型的一般使用步骤:(Scanner是引用类型的)1.导包import 包路径.类名称;如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写。只有java.lang包下的内容不需要导包,其他的包都需要import语句。2....原创 2019-06-26 15:44:00 · 216 阅读 · 0 评论 -
Java中的匿名对象
匿名对象创建对象的标准格式:类名称 对象名 = new 类名称();匿名对象就是只有右边的对象,没有左边的名字和赋值运算符。new 类名称();匿名对象注意事项:匿名对象只能使用唯一的一次,下次再使用不得不创建一个新的对象 使用建议:如果确定一个对象只需要使用一次,就可以使用匿名对象methodParam(new Scanner(System.in));...原创 2019-06-27 15:29:00 · 124 阅读 · 0 评论 -
常用Java API之Ramdom--用代码模拟猜数小游戏
常用Java API之RamdomRamdom类用来生成随机数字。使用起来也是三个步骤;1.导包import java.util.Random;2.创建Random r = new Random();//小括当中留空即可3.使用获取一个随机的int数组(范围是int所有范围,有正负两);int num = r.nextInt();获取一个随机的int数字(参...原创 2019-06-27 15:34:00 · 318 阅读 · 0 评论 -
Java学习:字符串概述与特点
字符串概述与特点java.lang.String类 代表字符串API当中说:Java程序中的所有字符串字面值(如“abc“)都作为此类的实例实现。其实就是说:程序当中所用的双引号字符串,都是String类的对象。(就算没有new,也照样是。)字符串的特点字符串的内容永远不可改变。【重点】 正是因为字符串不可改变,所以字符串是可以共享使用的。 字符串效果上相当于是cha...原创 2019-06-28 19:37:00 · 151 阅读 · 0 评论 -
Java的常用API之Date类简介
Data类java.util.Date:表示日期和时间的类类Date 表示特定的瞬间,精确到毫秒。毫秒:千分之一秒 1000毫秒=1秒把日期转换成毫秒:当前的日期:2019-07-18 时间原点(0毫秒):1970-01-01 00:00:00(英国格林威治) 就是计算当前日期到时间原点之间一共经历了多少毫秒注意:中国属于东八区,会把时间增加8个小时1970-01-01...原创 2019-07-18 22:06:00 · 153 阅读 · 0 评论 -
Java的常用API之Object类简介
Object类1.toString方法在我们直接使用输出语句输出对象的时候,其实通过该对象调用了其toString()方法。2.equals方法方法摘要:类默认继承了Object类,所以可以使用Object类的equals方法boolean equals(Object obj)指示其他某个对象是否与此对象“相等”。equalse方法源码:public boolean equa...原创 2019-07-18 22:03:00 · 76 阅读 · 0 评论 -
Java的常用API之System类简介
Syetem类java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文档中,常用的方法有;public static longcurrentTimeMillis();返回以毫秒为单位的当前时间。 public static void arraycopy(Object src, int srcPos, Object des...原创 2019-07-18 22:09:00 · 328 阅读 · 0 评论 -
Java的常用API之包装类简介
包装类包装类:基本数据类型,使用起来非常方便,但是没有对应的方法来操作这些基本类型的数据可以使用一个类,把基本类型的数据装起来,在类中定义一些方法,这个类叫做包装类,我们可以使用类中的方法来操作这些基本类型的数据。装箱:把基本类型的数据,包装到包装类中(基本类型的数据->包装类)构造方法:Integer(int value)构造一个新分配的 Integer对象,它表示指定的 ...原创 2019-07-18 22:12:00 · 152 阅读 · 0 评论 -
Java的常用API
Object类1.toString方法在我们直接使用输出语句输出对象的时候,其实通过该对象调用了其toString()方法。2.equals方法方法摘要:类默认继承了Object类,所以可以使用Object类的equals方法boolean equals(Object obj)指示其他某个对象是否与此对象“相等”。equalse方法源码:public boolean equa...原创 2019-07-18 22:13:00 · 205 阅读 · 0 评论 -
Java学习:单列集合Collection
集合学习集合的目标:会使用集合存储数据 会遍历集合,把数据取出来 掌握每种集合的特性集合和数组的区别数组的长度是固定的。集合的长度是可变的。 数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致,在开发中一般当对象多的时候使用集合进行存储。集合框架JAVASE提供了满足各种需求的API,在使用这些API前,先了解其继承与接口操...原创 2019-07-19 22:11:00 · 159 阅读 · 0 评论 -
Java学习:迭代器简介
迭代器java.util.Iterator接口:迭代器(对集合进行遍历)有两个常用的方法boolean hasNext()如果仍有元素可以迭代,则返回 true。判断集合中还有没有下一个元素,有就返回true,没有就返回false。E next()返回迭代的下一个元素取出集合中的下一个元素Iterator迭代器,是一个接口,我们无法直接使用,需要使用Iterator接口的...原创 2019-07-19 22:16:00 · 124 阅读 · 0 评论 -
Java学习:泛型简介
泛型泛型:是一种未知的数据类型,当我们不知道使用什么数据类型的时候,可以使用泛型泛型也可以看出是一个变量,用来接受数据类型E e : Element 元素 T t : Type 类型ArrayList集合在定义的时候,不知道集合中都会存储什么类型的数据,所以类型使用泛型E:未知的数据类型public class ArrayList<E>{ publ...原创 2019-07-19 22:23:00 · 95 阅读 · 0 评论 -
斗地主案例的代码实现(单列)
斗地主案例的代码实现(单列)import java.util.ArrayList;import java.util.Collection;/* 斗地主综合案例: 1.准备牌 2.洗牌 3.发配 4.看牌*/public class CaiNiao{ public static void main(String[] args){ ...原创 2019-07-19 22:28:00 · 453 阅读 · 0 评论 -
基本类型与字符串类型之间的相互转换
基本类型与字符串类型之间的相互转换基本类型->字符串(String)1.基本类型的值+""最简单的方法(工作中常用)2.包装类的静态方法toString(参数),是Object类的toString()重载static String toString(int i) :返回一个表示指定整数的String对象。3.String类的静态方法valueOf(参数)static S...原创 2019-07-18 22:13:00 · 221 阅读 · 0 评论 -
Java学习:数据结构简介
数据结构数据结构:数据结构_栈:先进后出入口和出口在同一侧数据结构_队列:先进先出入口和出口在集合的两侧数据结构_数组:查询快:数组的地址是连续的,我们通过数组的首地址可以找到数组,通过数组的索引可以快速的查找某一个元素。 增删慢:数组的长度是固定的,我们想要增加/删除一个元素,必须创建一个新数组,把原数组的数据复制过来例:int[] arr = new int[]...原创 2019-07-21 22:20:00 · 89 阅读 · 0 评论 -
集合单列--Colletion
集合学习集合的目标:会使用集合存储数据 会遍历集合,把数据取出来 掌握每种集合的特性集合和数组的区别数组的长度是固定的。集合的长度是可变的。 数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致,在开发中一般当对象多的时候使用集合进行存储。集合框架JAVASE提供了满足各种需求的API,在使用这些API前,先了解其继承与...原创 2019-07-19 22:30:00 · 411 阅读 · 0 评论 -
Java学习:List接口
List接口java.util.list接口 extends Collection接口List接口的特点:有序的集合,存储元素和取出元素的顺序是一致的(存储123 取出123) 有索引,包含了一些带索引的方法 允许存储重复的元素List接口中带索引的方法(特有):public void add(int index,E element):将指定的元素,添加到该集合中...原创 2019-07-21 22:35:00 · 140 阅读 · 0 评论 -
Java学习:Set接口与HashSet集合存储数据的结构(哈希表)
Set接口java.util.Set接口 extends Collection接口Set接口的特点:不允许存储重复的元素 没有索引,没有带索引的方法,也不能使用普通的for循环遍历java.util.HashSet集合 implements Set接口HashSet特点:不允许存储重复的元素 没有索引,没有带索引的方法,也不能使用普通的for循环遍历 是一个无序的集...原创 2019-07-21 22:38:00 · 302 阅读 · 0 评论 -
Java学习:可变参数
可变参数可变参数:是JDK1.5 之后出现的新特性使用前提:当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数。使用格式:定义方法时使用修饰符 返回值类型 方法名(数据类型...变量名){}可变参数的原理:可变参数底层就是一个数组,根据传递参数个数不同,会创建不同长度的数组,来存储这些参数 传递的参数个数,可以是0个 (不传递),1,2...多个...原创 2019-07-21 22:39:00 · 123 阅读 · 0 评论 -
Java学习:Map接口
Map集合Collection接口:定义了单列集合规范 Collection<E>每次存储一个元素 单个元素Map接口:定义了双列集合的规范 Map<K,V>每次存储一对元素java.util.Map<K,V>集合Map集合的特点:Map集合是一个双列集合,一个元素包含两值(一个key,一个value) Map集合中的元素,key和...原创 2019-07-21 22:52:00 · 97 阅读 · 0 评论 -
计算一个字符串中每一个字符出现的次数
练习:计算一个字符串中每一个字符出现的次数分析:1.使用Scanner获取用户输入的字符串2.创建Map集合,key是字符串中的字符,value是字符的个数3.遍历字符串,获取每一个字符4.使用获取到的字符,去Map集合判断key是否存在key存在:通过字符(key),获取value(字符个数)value++put(key,value)把新的value存储到Map集合中...原创 2019-07-21 22:53:00 · 1979 阅读 · 0 评论 -
Java学习:Debug调试程序
Debug追踪Debug调试程序: 可以让代码逐行执行,查看代码执行的过程,调试程序中出现的bug使用方式:在行号的右边,鼠标左键单击,添加断点(每个方法的第一行,哪里有bug添加到哪里) 右键,选择Debug执行程序 程序就会停留在添加的第一个断点处执行程序:f8:逐行执行程序 f7:进入到方法中 shift + f8:跳出方法 f9:跳到下一个断点,如果没有下一个...原创 2019-07-21 22:56:00 · 113 阅读 · 0 评论 -
JDK9对集合添加的优化
JDK9对集合添加的优化JDK9的新特性:list接口,Set接口,Map接口:里边增加了一个静态的方法of,可以给集合一次性添加多个元素 static <E> List<E> of (E... elements)使用前提:当集合中存储的元素的个数已经确定了,不在改变时使用注意:of方法只适用于list接口,set接口,Map接口,不适用于接口的实现类...原创 2019-07-21 23:02:00 · 133 阅读 · 0 评论 -
Java学习:方法重载的使用规则
方法的重载对于功能类似的方法来说,因为参数列表不一样,却需要记住那多不同的方法名称,太麻烦。方法的重载(Overload):多个方法的名称一样,但是参数列表不一样。好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。方法的重载与下列因素相关:参数个数不同 参数类型不同 参数的多类型顺序不同方法的重载与下列因素无关:与参数的名称无关 与方法的返回值类型无关...原创 2019-06-20 20:19:00 · 348 阅读 · 0 评论 -
Java学习:数组的使用和注意事项
数组数组的概念:是一种容器,可以同时存放多个数据值数组的特点:数组是一种引用数据类型 数组当中的多个数据,类型必须统一 数组的长度在程序运行期间不可以改变数组的初始化:在内存当中创建一个数组,并且向其中赋予一些默认值。两种常见的初始化方式:1.动态初始化(指定长度)2.静态初始化(指定类容)动态初始化数组的格式:数据类型[] 数组名称 = new 数组类型...原创 2019-06-21 19:07:00 · 431 阅读 · 0 评论 -
Java的内存需要划分成为5个部分:
Java的内存需要划分成为5个部分:1.栈(Stack):存放的都是方法中的局部变量。方法的运行一定要在栈当中运行。局部变量:方法的参数,或者是方法{}内部的变量 作用域:一旦超出作用域,立从栈内存当中消失。2.堆(Heap):凡是new出来的东西,都在堆当中。堆内存里面的东西都有一个地址值:16进制堆内存里面的数据,都有默认值。规则:如果是整数类型:那么默认值为0 如果是浮...原创 2019-06-21 19:08:00 · 180 阅读 · 0 评论 -
Java学习:static 关键字概述
static 关键字概述一旦用了static关键字,那么这样的内容不再属于对象自己。而是属于类的,所以凡是本类的对象,都共享同一份。如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用它。无论是成员变量,还是成员方法。如果有了static,都推荐使用类名称进行调用。静态变量:类名称.静态变量静态方法:类名称.静态方法()int num;//成员变量...原创 2019-06-29 15:08:00 · 67 阅读 · 0 评论 -
Java学习:数组工具类Arrays
数组工具类Arraysjava.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见的操作。public static String toString(数组);将参数数组变成字符串(按照默认格式:[元素1,元素2,元素3...])public static void sort(数组);按照默认升序(从小到大)对数组的元素进行排序。备注:...原创 2019-06-29 18:13:00 · 229 阅读 · 0 评论 -
Java.util.Math类--数学相关的工具类
Math类--数学相关的工具类java.util.Math类是数学相关的工具类,里面提供了大量的静态方法,完成与数学运算相关的操作。public static double abs(double num);获取绝对值。有多种重载;public static double ceil(double num);向上取整。public static double floor(double n...原创 2019-06-29 21:12:00 · 675 阅读 · 0 评论