Java基础javase
杨道龙
南京邮电大学硕士,某大厂Android开发,软件开发狂热爱好者,热爱分享知识,CSDN博客认证专家。在CSDN原创文章300多篇。
展开
-
《java第一季之入门篇》的想法
学习java也有一段时间了,但是考虑到自己现在上课、复习、考试等耗费很多时间,感觉没有静下心来的时间去写一个长期的博客。计划今年7月1号开始写一套关于java的入门篇博客文章,入门篇计划这样——涵盖javase所有重点知识点,不要求多深(自己水平也没到多深的程度),但是让初学者入门javase部分还是有信心的,有经验的java开发前辈,也希望您能给与支持和指正。勿好高骛远,要持之以恒。看到原创 2016-04-13 08:59:24 · 418 阅读 · 0 评论 -
《java入门第一季》之类面试题
面试题一: String,StringBuffer,StringBuilder的区别? * A:String是内容不可变的,而StringBuffer,StringBuilder都是内容可变的。 * B:StringBuffer是同步的,数据安全,效率低;StringBuilder是不同步的,数据不安全,效率高 面试题二: StringBuffer和数组的原创 2016-05-10 08:50:21 · 774 阅读 · 0 评论 -
《java入门第一季》之Arrays类前传(排序问题)
一:冒泡排序/* * 数组排序之冒泡排序: * 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 * * 引申: * 利用冒泡排序法,可以获取一个数组的最大值(先冒泡排序,取最后一个值)和最小值(调用冒泡排序,取第一个值) */public class ArrayDemo { public static void main(String[] args) {原创 2016-05-10 13:20:30 · 837 阅读 · 0 评论 -
《java入门第一季》之Arrays类前传(排序案例以二分查找注意的问题)
根据排序算法,可以解决一些小案例。举例如下:/* * 把字符串中的字符进行排序。 * 举例:"dacgebf" * 结果:"abcdefg" * * 分析: * A:定义一个字符串 * B:把字符串转换为字符数组 * C:把字符数组进行排序 * D:把排序后的字符数组转成字符串 * E:输出最后的字符串 */public class Arr原创 2016-05-10 16:12:20 · 928 阅读 · 0 评论 -
《java入门第一季》之类String类小案例
String类有许多转换方法,API文档里面可查看。针对转换方法,给出小案例。/* * 需求:把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符) * 举例: * helloWORLD * 结果: * Helloworld * * 分析: * A:先获取第一个字符 * B:获取除了第一个字符以外的字符 * C:把A转成大写原创 2016-05-09 21:49:33 · 399 阅读 · 0 评论 -
《java入门第一季》之类StringBuffer类初步
/* * 线程安全(多线程分析) * 安全 -- 同步 -- 数据是安全的 * 不安全 -- 不同步 -- 效率高一些 * 安全和效率问题是永远困扰我们的问题。 * 安全:医院的网站,银行网站 * 效率:新闻网站,论坛之类的 * * StringBuffer: * 线程安全的可变字符串。 * * StringBuffer和String的区别? * 前者长度和原创 2016-05-09 22:54:06 · 368 阅读 · 0 评论 -
《java入门第一季》StringBuffer类小案例
/* * 把数组拼接成一个字符串 */public class StringBufferTest2 { public static void main(String[] args) { // 定义一个数组 int[] arr = { 44, 33, 55, 11, 22 }; // 定义功能 // 方式1:用String做拼接的方式 String s1 = array原创 2016-05-10 08:36:28 · 696 阅读 · 0 评论 -
《java入门第一季》之StringBuffer小案例
这里是针对其反转功能来举的例子,再对比之前写的一篇String类的反转功能,StringBuffer明显提高了代码量,提高了效率。import java.util.Scanner;/* * 把字符串反转 */public class StringBufferTest3 { public static void main(String[] args) { // 键盘录入数据原创 2016-05-10 08:41:57 · 432 阅读 · 0 评论 -
《java入门第一季》之Arrays类
前面介绍了排序问题(见博客http://blog.csdn.net/qq_32059827/article/details/51362390);二分查找问题(见博客http://blog.csdn.net/qq_32059827/article/details/51363949)接下来用一个类快速实现排序和二分查找。Arrays类import java.util.Arr原创 2016-05-10 22:41:57 · 832 阅读 · 0 评论 -
《java入门第一季》之正则表达式常见规则
正则表达式规则不用记住,只是知道是做什么用的即可。常见规则如下:A:字符 x 字符 x。举例:'a'表示字符a \\ 反斜线字符。 \n 新行(换行)符 ('\u000A') (\\n来表示换行) \r 回车符 ('\u000D') B:字符类 [abc] a、b 或 c(简单类) [^abc] 任何字符,除了 a、b 或 c(否定) [a-zA-Z] a到 z原创 2016-05-11 08:48:16 · 969 阅读 · 0 评论 -
《java入门第一季》之Character类小案例
/* * Character 类在对象中包装一个基本类型 char 的值 * 此外,该类提供了几种方法,以确定字符的类别小写字母,数字,等等,并将字符从大写转换成小写,反之亦然 * */下面通过一个小案例,来看一下Character类的功功能:统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数。之前写过完成这个功能的代码,在那里不是按照Chara原创 2016-05-11 08:44:44 · 686 阅读 · 0 评论 -
《java入门第一季》之Integer类和自动拆装箱概述
/ * int 仅仅是一个基本类型。int有对应的类类型,那就是Integer. * 为了对基本数据类型进行更多的操作,更方便的操作,Java就针对每一种基本数据类型提供了对应的类类型——包装类类型。各个基本类型分配封装与之对应的类类型来对基本类型数据更方便的操作。 * byte Byte * short Short * int Integer(这个原创 2016-05-11 08:34:58 · 602 阅读 · 0 评论 -
《java入门第一季》之二维数组
/*二维数组:就是元素为一维数组的一个数组。格式1:数据类型[][] 数组名 = new 数据类型[m][n];m:表示这个二维数组有多少个一维数组。n:表示每一个一维数组的元素有多少个。注意:A:以下格式也可以表示二维数组a:数据类型 数组名[][] = new 数据类型[m][n];b:数据类型[] 数组名[] = new 数据类型[m][n];原创 2016-05-03 18:22:37 · 438 阅读 · 0 评论 -
javase--day_01
一、关键字: /* 关键字: 被java语言复与特定含义的单词。 特点: 组成关键字单词的字母全部小写。 注意:A:goto和const是保留字,他们属于java,但是在java中一搬不用。B:类似于Notepad++这样的高级记事本,针对关键字都有特殊的颜色标记。原创 2015-12-23 15:34:10 · 500 阅读 · 1 评论 -
java数据类型易错点简单总结,欢迎大神前辈补充!谢谢
数据类型那这边看似简单,花了我很长时间也就是才练到几成”功力“吧。还希望路过的大神在下面补充,菜鸟的我深受感谢!首先看两个思考题思考题1:请问下面这个有没有问题double d = 12.345; //有问题!!!因为double是8位,float是4位。定义一个double类型数据给float会提示损失精度!float f = d;思考题2:看看下面两个定义有没有区原创 2015-12-23 17:10:27 · 969 阅读 · 0 评论 -
个人认为运算符常见的一些简单问题
开篇都是这一句,见谅!由于本人是个初学者希望自己的文章不会误导广大“群众“,如果有错误之处还望前辈指出。谢谢!一、扩展的运算符(+= ,-= ,*= ,/=,%=)的一个小问题:存在强制类型的转换。short s=1;s = s+1; short s=1;s+=1;上面两个代码有没有问题,如果有,那里有问题。第一个有问题,第二个没有问题。因为:第一行代码里s为指定的stri原创 2015-12-23 20:27:32 · 472 阅读 · 0 评论 -
java语法部分一些小问题
由于本人是个初学者希望自己的文章不会误导广大“群众“,如果有错误之处还望前辈指出。谢谢!一、键盘录入。A:导包格式: import java.util.Scanner; 位置:在class上面。B:创建键盘录入对象格式:Scanner sc = new Scanner(System.in);C:通过对象获取数据 格式:int x = sc.nextInt(); 二、流程原创 2015-12-29 10:43:20 · 441 阅读 · 0 评论 -
《java入门第一季》之二维数组
/* 格式2: 数据类型[][] 数组名 = new 数据类型[m][]; m:表示这个二维数组有多少个一维数组。 列数没有给出,可以动态的给。这一次是一个变化的列数。*/class Array2Demo2 { public static void main(String[] args) { //定义数组 int[][] arr = new int[3][];原创 2016-05-03 18:35:24 · 400 阅读 · 0 评论 -
《java入门第一季》二维数组三个案例详解
案例一:遍历二维数组 /* 需求:二维数组遍历 外循环控制的是二维数组的长度,其实就是一维数组的个数行数。 内循环控制的是一维数组的长度,每一行,一维数组元素分别的个数。*/class Array2Test { public static void main(String[] args) { //定义一个二维数组 int[][] arr = {{1,2,3},{4,5,原创 2016-05-03 19:06:29 · 2092 阅读 · 1 评论 -
《java入门第一季》之参数引用
Java中的参数传递问题: 基本类型:形式参数的改变对实际参数没有影响。 引用类型:形式参数的改变直接影响实际参数。*/class ArgsDemo { public static void main(String[] args) { int a = 10; int b = 20; System.out.println("a:"+a+",b:"+b); //a:10,b:原创 2016-05-03 21:15:00 · 476 阅读 · 0 评论 -
《java入门第一季》之java语法部分小案例
到这里举一个小例子把语法部分梳理一下,下一节开始进入java正式基础——面向对象的学习整理。案例:/* 某个公司采用公用电话传递数据信息,数据是小于8位的整数,为了确保安全, 在传递过程中需要加密,加密规则如下: 首先将数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字, 最后将第一位和最后一位数字交换。 请任意给定一个小于8位的整数, 然后,把加密后的结原创 2016-05-03 22:27:09 · 555 阅读 · 0 评论 -
《java入门第一季》之面向对象
之前的代码描述都是基于面向过程的,今天开始正式进入面向对象的世界。什么是对象?首先要区分类和对象的概念——现实世界中是如何描述一个事物的?举例:学生姓名,年龄,性别...学习,吃饭,睡觉属性:该事物的描述信息行为:该事物能够做什么学习编程语言,是为了模拟现实世界的事物的。而学习的编程语言Java中最基本的单位是:类。所以,我们就应该把事物通过类来体现出来原创 2016-05-03 22:55:55 · 511 阅读 · 0 评论 -
《java入门第一季》之面向对象面试题(成员变量与局部变量的区别)
/* 成员变量和局部变量的区别? A:在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上 B:在内存中的位置不同 成员变量:在堆内存 局部变量:在栈内存 C:生命周期不同 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 D:初始化值不同 成员变量:原创 2016-05-04 08:39:36 · 641 阅读 · 0 评论 -
《java入门第一季》之面向对象面试题(形式参数的问题)
/* 形式参数的问题: 基本类型:形式参数的改变不影响实际参数 引用类型:形式参数的改变直接影响实际参数*///形式参数是基本类型class Demo { public int sum(int a,int b) { return a + b; }}//形式参数是引用类型class Student { public void show() { System.ou原创 2016-05-04 08:45:42 · 596 阅读 · 0 评论 -
《java入门第一季》之面向对象(匿名对象)
/* 匿名对象:就是没有名字的对象。 匿名对象的应用场景: A:调用方法,仅仅只调用一次的时候。 注意:调用多次的时候,不适合。 匿名对象调用完毕就是垃圾。可以被垃圾回收器回收,释放了系统资源。 B:匿名对象可以作为实际参数传递*/class Student { public void show() { System.out.println("我爱原创 2016-05-04 08:51:22 · 421 阅读 · 0 评论 -
《java入门第一季》之面向对象(private关键字与封装概念的初探)
/* 定义一个学生类: 成员变量:name,age 成员方法:show()方法 在使用这个案例的过程中,发现了一个问题: 通过对象去给成员变量赋值,可以赋值一些非法的数据。例如:name你赋值了一个30整型数据 这是不合理的。 应该是这个样子的:在赋值之前,先对数据进行判断是什么样的类型。 判断到底在哪里做比较合适呢? StudentDemo类是一个测试类,测原创 2016-05-04 09:06:48 · 603 阅读 · 0 评论 -
《java入门第一季》之面向对象this关键字
/* 起名字要做到见名知意。 this:是当前类的对象引用。简单的记,它就代表当前类的一个对象。 注意:谁调用这个方法,在该方法内部的this就代表谁。 this的场景: 解决局部变量隐藏成员变量*///定义学生类class Student { //姓名 private String name; //年龄 private int age; //姓名获原创 2016-05-04 12:51:28 · 487 阅读 · 0 评论 -
《java入门第一季》之面向对象(构造方法)
/* 构造方法: 给对象的数据进行初始化 格式: A:方法名与类名相同 B:没有返回值类型,连void都没有 C:没有具体的返回值*/class Student { private String name; //null private int age; //0 public Student() { System.out.println("这是构造方法");原创 2016-05-04 13:20:44 · 419 阅读 · 0 评论 -
《java入门第一季》之根据小案例体会泛型
泛型在哪些地方使用呢? * 看API,如果类,接口,抽象类后面跟的有就说要使用泛型。一般来说就是在集合中使用。下面根据案例,加深体会泛型的作用。案例一:import java.util.ArrayList;import java.util.Iterator;/* * 泛型在哪些地方使用呢? * 看API,如果类,接口,抽象类后面跟的有就说要使原创 2016-05-26 22:49:45 · 588 阅读 · 0 评论 -
《java入门第一季》之正则表达式小案例
案例一:判断手机号码是否满足要求import java.util.Scanner;/* * * 需求: * 判断手机号码是否满足要求? * * 分析: * 13436975980 * 13688886868 * 13866668888 * 13456789012 * 13123456789 * 18912345678原创 2016-05-11 13:09:14 · 573 阅读 · 0 评论 -
《java入门第一季》之好玩的正则表达式
先不通过正则表达式来判断输入的qq号码是否正确。import java.util.Scanner;/* * 校验qq号码. * 1:要求必须是5-15位数字 * 2:0不能开头 * * 分析: * A:键盘录入一个QQ号码 * B:写一个功能实现校验 * C:调用功能,输出结果。 */public class RegexDemo { public s原创 2016-05-11 12:52:04 · 428 阅读 · 0 评论 -
《java入门第一季》之Math类一个小案例获取任意数值范围内随机数
Math:用于数学运算的类。import java.util.Scanner;/* * 需求:请设计一个方法,可以实现获取任意范围内的随机数。 * * 分析: * A:键盘录入两个数据。 * int strat; * int end; * B:想办法获取在start到end之间的随机数 * 我写一个功能实现这个效果,得到一个随机数。(int)原创 2016-05-14 13:31:42 · 1237 阅读 · 0 评论 -
《java入门第一季》之Random类和获取随机数案例
/* * Random:产生随机数的类 * * 构造方法: * public Random():没有给种子,用的是默认种子,是当前时间的毫秒值下的随机数,所以会一直变化 * public Random(long seed):给出指定的种子 long seed就是一个long类型的数据而已 * 给定种子后,每次得到的随机数是(相同的)。再次编译执行后的数据不变了。原创 2016-05-14 13:43:10 · 598 阅读 · 0 评论 -
《java入门第一季》之Date类案例,算一算你的恋爱纪念日
想算你和你对象谈了多久了,还在用笔算吗,是不是很头疼?写个程序算一算吧!会变得如此简单。import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Scanner;/* * * 分析: * A:键盘录入你的恋爱日期 *原创 2016-05-15 11:31:27 · 1051 阅读 · 1 评论 -
《java入门第一季》集合框架引入与面试题
注:在开始的几篇集合介绍里,不包含泛型的概念。泛型在讲述所有集合后再加入进去。集合的由来: 我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这(多个对象进行存储)。而要想存储多个对象,就不能是一个基本的变量,而应该是一个容器类型的变量,在我们目前所学过的知识里面,有哪些是容器类型的呢?数组和StringBuffer。原创 2016-05-15 22:47:57 · 627 阅读 · 0 评论 -
《java入门第一季》之Calendar类小案例获取任意二月天数
import java.util.Calendar;import java.util.Scanner;/* * 获取任意一年的二月有多少天 * * 分析: * A:键盘录入任意的年份 * B:设置日历对象的年月日 * 年就是A输入的数据 * 月是2 * 日是1 * C:把时间往前推一天,就是2月的最后一天 * D:获取这一天日期输出即可原创 2016-05-15 22:38:41 · 790 阅读 · 0 评论 -
《java入门第一季》之LinkList模拟桟结构案例
需求:请用LinkedList模拟栈数据结构的集合,并测试题目的意思是:你自己的定义一个集合类,在这个集合类内部可以使用LinkedList模拟。定义一个类叫MyStack代码如下:package cn.itcast_05;import java.util.LinkedList;/** * 自定义的栈集合 * * @author 风清扬 * @versio原创 2016-05-23 08:00:40 · 452 阅读 · 0 评论 -
《java入门第一季》之ArrayList集合小案例
案例一:去除集合里面的重复元素package cn.itcast_04;import java.util.ArrayList;/* * ArrayList去除集合中字符串的重复值(字符串的内容相同) * * 分析: * A:创建集合对象 * B:添加多个字符串元素(包含内容相同的) * C:创建新集合 * D:遍历旧集合,获取得到每一个元素 * E原创 2016-05-23 08:01:34 · 719 阅读 · 0 评论 -
《java入门第一季》正则表达式小案例
案例一:当你登陆某个论坛,向发帖子留下自己qq号的时候,可惜你的号码就是留不下,总是输入*,或者其它奇妙的字符串。其实原理就是用了正则表达式替换。/* * 替换功能 * String类的public String replaceAll(String regex,String replacement) * 参数: regex - 用来匹配此字符串的正则表达式 replacem原创 2016-05-23 08:02:15 · 499 阅读 · 0 评论 -
《java入门第一季》之泛型引入
泛型的引入:首先看一段代码体会自动报错。// 看下面这个代码 自动报错 String[] strArray = new String[3]; strArray[0] = "hello"; strArray[1] = "world"; strArray[2] = 10;//因为指定了string类型,是不可以存储int类型数据的。会自动报错。 集合也模仿着数组的这原创 2016-05-26 22:42:19 · 553 阅读 · 0 评论