java基础语法

来源:互联网 发布:mysql主键的唯一约束 编辑:程序博客网 时间:2024/05/01 22:46

java基础语法

标签: java
4人阅读 评论(0)收藏编辑删除
本文章已收录于:

目录(?)[+]

  1. 异常
    1. 处理异常
    2. throw与throws
  2. 自定义异常
  3. String
  4. StringBuilder和StringBuffer
    1. 常用方法
  5. 基本类型的包装类
    1. 包装类常用方法
  6. 包装类转基本类型拆箱  
  7. java日期处理
    1. SimpleDataFormat
  8. Calendar
    1. 获取日历中时间
  9. Math


异常



处理异常

try....catch代码块     try....catch...finally

try中是发生异常代码,catch是捕获异常的处理,通过可以提醒用户。

当代码有多个异常需要捕获的时候,可以使用try....catch...catch   catch多重语句块。

catch中处理多个catch时,需要注意:
  1. 顺序问题,从上到下的捕获的异常,应该先是子类在是父类,从小到大。
try...catch...finally 中finally存放必须是执行的。

throw与throws


throws是申明在方法后面。
throw是动词,就是手动抛出一个异常,申明在方法体。必须在方法后用throws申明,否则不能受到抛出

自定义异常


定义自己的异常需要继承异常基类(Exception)

String

创建字符串:
String s1 = new String("我爱学习");String s2 = "我爱学习";String s3 = "我爱学习";System.out.println(s2==s3);//trueSystem.out.println(s1==s3);//false


这两个变量存放的是字符常量,而且属性值相同,属性系统就分给他们一个地址。原因是先在常量池中创建一个对String类的对象引用变量str,然后查找常量池中有没有存放"我爱学习",如果没有,则将"abc"存放并令str指向”我爱学习”,如果已经有”我爱学习”则直接令str指向“我爱学习”。 如果属性值相同,但是用new的String,就地址不一样了。

StringBuilder和StringBuffer

[java] view plain copy
print?
  1. String s3 = "我爱学习";  
  2. System.out.println(s3+"天天向上");  
[java] view plain copy
print?
  1. String s3 = "我爱学习";  
  2. System.out.println(s3+"天天向上");  

字符串是不可变的, 按照上面的操作,系统就需要在分配一个地址给他,多次操作带来的问题就是需要多个临时变量的地址,浪费资源。由此我们引出了至于 StringBuilder 和StringBuffer ,它们基本相似,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。

[java] view plain copy
print?
  1. StringBuilder sb = new StringBuilder();  
  2. StringBuilder sb2 = new StringBuilder("我爱学习");  
[java] view plain copy
print?
  1. StringBuilder sb = new StringBuilder();  
  2. StringBuilder sb2 = new StringBuilder("我爱学习");  

常用方法

[java] view plain copy
print?
  1. <span style="white-space: pre;">        </span>StringBuilder sb2 = new StringBuilder("我爱学习");  
  2.         System.out.println(sb2.append("天天向上"));  
[java] view plain copy
print?
  1. <span style="white-space: pre;">        </span>StringBuilder sb2 = new StringBuilder("我爱学习");  
  2.         System.out.println(sb2.append("天天向上"));  

append是在字符串后面添加另一个字符串,并用原先的字符串地址,不另外占用地址。

基本类型的包装类



以Integer为例,看看如何构造包装类对象
[java] view plain copy
print?
  1. Integer i = new Integer("1");  
[java] view plain copy
print?
  1. Integer i = new Integer("1");  

包装类常用方法



包装类转基本类型(拆箱)  

以int类型为例

Integer i = new Integer("1");int a = i.intValue();

java日期处理

获取系统时间
Date date = new Date();System.out.println(date);
打印结果:Mon Mar 27 11:12:28 CST 2017。

通常这样,不是我们所看到的结果。所以我们需要对时间进行格式化。

SimpleDataFormat

Date date = new Date();System.out.println(date);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String s = sdf.format(date);
常用的转换格式

"yyyy年MM月dd日 HH时mm分ss秒""yyyy/MM/dd HH:mm""yyyy-MM-dd HH:mm:ss"
时间字符串转时间格式
String s12 = "2017-03-27 11:17:47";SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date2 = null;try {date2 = sdf1.parse(s12);} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println(date2);

Calendar

获取日历中时间

Calendar calendar = Calendar.getInstance();//通过Calendar//提供的静态方法去提供一个实例。int year = calendar.get(Calendar.YEAR);//获取年int month = calendar.get(Calendar.MONTH)+1;//获取月 ,需要注意获取月份从0开始,//变成我们的需要加1int day = calendar.get(Calendar.DAY_OF_MONTH);//获取天数int hour = calendar.get(Calendar.HOUR);int minute = calendar.get(Calendar.MINUTE);int second = calendar.get(Calendar.SECOND);
Date date1 = calendar.getTime();//将日历中时间转成日期型long current = calendar.getTimeInMillis();//将日历中时间转成毫秒数.

Math

Maths类提供一些静态方法,用于数学运算。
double double1 = Math.random();//random可以随机产生一个0~1之间小数












































































0
0
 
 

  相关文章推荐
  • Java基础语法(一)
  • Java编程那些事儿44—数组基础语法
  • 黑马程序员-(5)Java基础语法之数组
  • Java基础语法和函数
  • Java语法基础
  • 黑马程序员-(4)Java基础语法之函数
  • 第二章 Java基础语法(3)
  • 黑马程序员_Java语法及面向对象基础<一>
  • java入门(2)--基础语法
  • Java基础之语法
原创粉丝点击