1.掌握枚举的使用

枚举:
引用数据类型:数组、类(String)、接口、枚举
switch支持int String 枚举(enum)

public class Student{private String name;private int age;private String gender;public void setAge(int age){if(age < 0 || age > 100){syso("年龄非法!.....");this.age = 60;}else{this.age = age;   }}public void setGender(String gender){if(gender.equals("男") || gender.equals("女")){this.gender = gender;}else{syso(xxxx);}}
}public class Test{main(){Student stu = new Student();// stu.age = -1000;(采用封装解决)  为了解决不合理赋值stu.gender = "呵呵"; // 男 女 xx    String类型  ->  性别类型呢?}
}

枚举的使用:


/*** 性别类型* @author Charles7c* 2019年4月21日 上午9:59:03*/
public enum Gender {// 常量 static final// 男,女// 0 1MALE,FEMALE
}package cn.kgc.demo1;
/*** 学生类*/
public class Student {private String name;private int age;// private String gender; 0 1private Gender gender;@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + ", gender=" + gender + "]";}public Student() {super();// TODO Auto-generated constructor stub}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 getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}*/public Gender getGender() {return gender;}public void setGender(Gender gender) {this.gender = gender;}}package cn.kgc.demo1;public class Test {public static void main(String[] args) {Student student = new Student();student.setName("豆涵");student.setAge(10);// student.setGender("呵呵");// 在很多场景下 我们需要其他开发者 在调用我们的某些方法时 只能传递某几个固定值// 那么就需要枚举student.setGender(Gender.MALE);System.out.println(student);}}

2.掌握包装类的使用

  1. 基本数据类型没有函数,所以在当你需要对基本数据类型进行操作时,那么可以使用对应的包装类型。
  2. 集合泛型要求数据类型必须是包装类型。

包装类型常用API

  1. 字符串 ->基本数据类型 / 包装类型(我们在网络数据传输中,你的数据表层会转换为字符串,服务器在接受时就是一些字符串而已,但是你也知道字符串对于有些数据的操控并不是太方便,所以需要进行转换)
String value = "10";
// 可将字符串转换为对应的基本类型
int parsrInt = Integer.parsrInt(value);
// 可以将字符串转换成对应的包装类型
Integer valueof = Integer.valueof(value);
  1. 基本/包装类型 -> 字符串
int a = 10;
// 凡是与字符串用+号拼接的都成为了字符串
String b = a+"";
// 将基本数据类型转换为字符串
String string = Integer.toString(a);
// 将包装类型转换为字符串
Integer c = Integer.valueof(a);
String string2 = c.toString();

拆箱和装箱

**拆箱:**包装类型转换为基本数据类型
**装箱:**基本数据类型转换为包装类型

包装类和基本数据类型的使用注意事项

  1. 包装类是引用数据类型,所以它可以接受null值,而基本数据类型不可以
public class Student{// private Integer id;private Long id;}
  1. 包装类型不是用来替代基本数据类型的,而是用来弥补基本数据类型无法使用函数的问题。
    基本数据类型可以用==比较值得内容 包装类型默认值为null,而基本数据类型默认值为0 false等等
  2. 但是在数据蚕食传递时,多多是情况基本和包装可以混淆使用

3.Math和Random类

Math教学类

// 圆周率 自然数底数
// 求两者中的最小值
int mins = Math.min(10,9);
System.out.println(min); // 9
// 求两者中的最大值
int maxs = Math.max(10,9);
System.out.println(maxs); // 10
// 求绝对值
int abss = Math.abs(-10);
System.out.println(abss); // 10
// 求幂运算  2的3次方
double pow = Math.pow(2, 3);
System.out.println(pow); // 8// 四舍五入
long round = Math.round(10.5);
System.out.println(round); // 11// 向上取整
double ceil = Math.ceil(10.2);
System.out.println(ceil); // 11
// 向下取整
double floor = Math.floor(10.8);
System.out.println(floor); // 10// 开平方
double sqrt = Math.sqrt(4);
System.out.println(sqrt); // 2// 求随机数 [0.0,1.0)
double random = Math.random();
// 求范围内的随机整数[min,max)
// (int)(Math.random() * (max - min)) + min

4.掌握String的常用API

  1. 获取字符串长度:int length();
  2. 判断字符串的内容是否相同:boolean equals(Object obj)
  3. 不区分大小写的字符串比较:boolean equalslgnoreCase(String str);
  4. 将字母全部转换为大写/小写:String toUpperCase();/ String toLowerCase();
  5. 字符串拼接:String concat(String anotherString);
     String str1 = "hello";String str2 = "world";String str3 = str1.concat(str2);System.out.println(str3);
  1. 查找指定字符串第一次出现的位置:int indexOf(String subtr);
String str1 = "helloworld";int index = str1.indexOf("o");System.out.println(index);// 4 输出的是索引 从左开始第一个int lastIndexOf = str1.lastIndexOf("o");System.out.println(lastIndexOf);// 6 从右开始第一个
  1. 从指定位置(包含)开始,查找指定字符串出现的位置:int indexOf(String subtr,int fromIndex);
  2. 查找指定字符串最后出现的位置:String substring(int starlndex);
  3. 从指定位置开始截取子字符串:String substring(int startIndex);
String str1 = "helloworld";
String substring2 = str1.substring(3);System.out.println(substring2);// loworld 会获取索引3以后的所有字符
  1. .从指定位置开始截取到指定位置结束的子字符串:String substring(String subtr,int fromIndex); [ substring, fromIndex)
String str1 = "helloworld";
String substring = str1.substring(3, 6);System.out.println(substring);// low
  1. 获取指定索引的字符:char charAt(int index);
String str1 = "helloworld";
char charAt = str1.charAt(5);System.out.println(charAt);// w
  1. 去除字符串两端的空格:String trim();
  2. 替换字符串:String replace(String oldStr,String newStr);
String replace = userInput.replace("垃圾", "**");
(userInput 只是一个键盘输入的一个变量名)
  1. 拆分字符串:String[] split(String 正则表达式);
String str = "长亭外~古道边~芳草碧连天";// 正则 regular expression  regex// 一种规则  简单模式  复合模式 \d{9}// 可以匹配规则String[] split = str.split("~");for (String stri : split) {System.out.println(stri);}
  1. 将字符串转换为字符数组:char[] toCharArray();

2.掌握StringBuffer的基本使用

String字符串 Buffer缓冲区
字符串String 引用数据类型,那么每一次使用字符串都需要创建对象(在方法区中存在一个字符串常量池,所以有些时候,它不会创建对象);字符串拼接的时候,每一次都在创建新的字符串对象,效率特别低!
循环中不要使用+号使用拼接字符串,因为底层是使用StringBuffer/StringBuilder实现的。

构造方法:
StringBuffer();
StringBuffer(String str);
常用方法:
append (任意数据类型);追加字符串
insert(int index, 任意类型数据); 在指定位置插入任意数据 原有数据后移
reverse(); 字符串反转
toString(); 转换为字符串

掌握StringBuffer和String的区别

String每一此拼接一个字符串都要再次创建一个新的空间,一次只能两个两个的拼接,按下图,Str要拼接4次
StringBuffer则是可以不用再次创建空间,直接进行一次性拼接完成

// 创建对象// StringBuffer sb = new StringBuffer();StringBuffer sb = new StringBuffer("begin:");// 拼接字符串sb.append(10);sb.append(11);sb.append("abc");String string = sb.toString();System.out.println(string);// begin:1011abc// 在指定的位置插入数据sb.insert(3, "hehe");System.out.println(sb);// beghehein:1011abcsb.reverse();System.out.println(sb);// cba1101:niehehgeb
 // 12345678String numStr = "12345678";// 利用字符串缓冲区对象来进行内容插入 -> 变相拼接StringBuffer sb = new StringBuffer(numStr);for (int i = numStr.length() - 3; i > 0 ; i -= 3) {sb.insert(i, ",");}System.out.println(sb);// 12,345,678

3.掌握时间类型Date

java.util.Date

掌握时间格式转换SimpleDateFormat

Date date = new Date(); 会获取当前的系统时间进行赋值
//输出结果:Fri Apr 26 18:17:48 CST 2019(美国的看法)
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");String f = simpleDateFormat.format(date);System.out.println(f);// 这样的话就会转成目前当下的时间值
package cn.kgc.demo3;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;public class Demo1 {private Date birthday;public static void main(String[] args) {Date date = new Date();System.out.println(date);// 过时了int month = date.getMonth();// sCalendar.get(Calendar.MONTH)// 格式转换对象 SimpleDateFormat// 转换的格式字符串SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");String format = sdf.format(date);System.out.println(format);try {Date parse = sdf.parse("2019年04月21日 11:31:42");System.out.println(parse);} catch (ParseException e) {e.printStackTrace();// 返回到Fri Apr 26 18:17:48 CST 2019这种格式}}}

掌握日期类型的使用Calendar

public static void main(String[] args) {// 消除时间敏感性Calendar calendar = Calendar.getInstance();// 获取时间信息// int dayOfMonth = calendar.get(5);// 不要使用魔法值 使用常量int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);System.out.println(dayOfMonth);int month = calendar.get(Calendar.MONTH);System.out.println(month);int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);System.out.println(dayOfWeek);}

一个星期快速自学java编程高级语言干货笔记 -实用类相关推荐

  1. 一个星期快速自学java编程高级语言干货笔记 -网络编程

    网络编程 1.理解网络的相关概念 计算机网络: 多个计算机通过专业设备进行连接,形成一个网络,每一台计算机都算是一个网络节点,可以相互进行信息的传递等. 网络的分类 局域网: 两台或两台以上电脑通过交 ...

  2. 自学Java编程的入门书单

     自学Java编程的入门书单 简介 基于笔者自学Java开发的亲身经历,对于没有任何编程基础的读者,笔者认为入门学习Java语言开发的最佳.最快方式是教学视频与优秀书籍相结合.读者应该在观看优秀教 ...

  3. 如何快速学会java编程?

    随着互联网时代的发展,越来越多的人开始学习和使用java语言来进行编程开发,其中不乏有不少零基础的同学,大家都想知道怎么样才能更快速的学会Java编程,下面小千就给大家几个建议,跟着做一定没错的. 快 ...

  4. 好程序员Java培训分享如何快速入门Java编程

    好程序员Java培训分享如何快速入门Java编程,作为老牌编程语言,Java拥有广阔的市场应用,企业对Java人才的需求一直居高不下.有很多非专业.零基础的人想要学习Java却不知道怎么快速入门,接下 ...

  5. 零基础自学Java编程大概需要多久时间?

    零基础自学Java编程大概需要多久时间? 因人而异的. 那么我们怎么去学习才能更加高效呢? 如何快速打好Java基础? 01.准备 学习之路是一项很逆人性的差事,并不是每个人都能够坚持下来,尤其是打基 ...

  6. 自学Java编程要做好哪些准备?

    Java编程可谓是经得起时间的考验,时隔20多年,依然没有淘汰,那如果我们自学Java需要做哪些准备呢?小编今天就来分析一下. 学习Java编程这个事情,最重要的还是靠自己来学习的,Java培训只是给 ...

  7. 自学java成功率高吗,为什么自学Java编程成功率那么低?

    自学Java编程平均成功率只有24%.其中,大部分自学连Java基础都还没有掌握好,便放弃了.为什么会如此呢?难道自学就真的那么难? 实际上,自学最大的问题无外乎没有学习氛围.没有专业辅导,因为没有学 ...

  8. Java编程思想学习笔记-第11章

    <?xml version="1.0" encoding="utf-8"?> Java编程思想学习笔记-第11章 Java编程思想学习笔记-第11章 ...

  9. 01.Java 编程入门学习笔记20210307

    Java 编程入门学习笔记-day01 第0章:编程入门 1.计算机的概述 计算机 = 硬件 + 软件 1.1硬件:冯诺依曼体系 CPU: CPU的衡量标准:速度的计量单位是赫兹(Hz),1Hz相当于 ...

最新文章

  1. MAVEN项目对象模型,原来找Bug也不用如此费时费事。
  2. 深度学习中的3个秘密:集成、知识蒸馏和蒸馏
  3. 小明种苹果python_Python实现201909-2(小明种苹果(续))满分代码,带注释
  4. 分享一个web页面背景全屏的jquery插件Fullscreen Background
  5. 修改labelImg软件的yolo标注写入格式(.txt文件不换行的解决办法)(将换行符'\n'替换成'\r\n')
  6. JavaScript学习(十)
  7. Flink 状态一致性:端到端状态一致性的保证
  8. 分布式文件系统之Fastdfs是什么?
  9. wps流程图怎么不能添加文字_windows不能访问共享文件夹,不能添加共享打印机时,怎么解决呢...
  10. Initialization failed for Block pool
  11. html相同标签替换,html替换把多有标签替换成p标签
  12. MacDroid for mac(安卓手机数据传输助手)
  13. 北京住房仰视链,你在第几层?
  14. Java:Spi 小实战
  15. PCL_PCLVisualizer在多线程中的使用问题(viewer spinOnce crash)
  16. UI前端常用的15个超赞的配色网站
  17. jupyter 下进行markdown
  18. Android 动态获取控件的宽高,并动态设置控件宽高
  19. 51单片机——ADC模数转换、DAC数模转换PWM C语言入门编程
  20. TestCenter测试管理工具介绍和环境配置(A)

热门文章

  1. 电脑计算机显示脱机状态,电脑显示脱机状态是什么意思?
  2. 你的头发一根都不许掉!澳洲这款获奖无数的洗发水,7天发量暴增!男同事亲测,20天浓密乌黑!...
  3. 六下计算机教学总结,六年级下册计算机教学工作总结.doc
  4. Python网络爬虫入门篇---小白必看
  5. 趣链科技张帅博士:有望最先落地AI+区块链的是金融领域
  6. 中国首个电子商务百强榜名单-2010-09
  7. 1115: [POI2009]石子游戏Kam
  8. 黑马程序员之怎样卸载数据库
  9. flink之keyby groupby区别
  10. 自动洗车机远程监测与设备联动方案