1  整型

          int num = 1_000_000; //从java 7开始支持的语法 ,只是让人更易读,java编绎器会去除
  2  字符串
       一定不能使用==运算符检测两个字符串是否相等,而应该使用equals() ,如下
         boolean result ="hello".substring(0,2)=="he"; // result为false
       boolean result ="hello".substring(0,2).equals("he"); // result为true
    charAt()  //返回指定位置的字符
       字符串API 
          Java中String类包含了50多个方法,在 java.lang.string  包下
   3 输入输出
    System.out.println()     ,在 java.lang  包下
        文件输入与输出,    Scanner对象
   4 流程控制
        break  java提供了一种带标签的break语句,可跳出指定的已定义的标签位置,
   5 大数值
    java.math包中的 BigInteger  和 BigDecimal   
  6 数组 
  for(variable:collection)statement
示例:for(int element:coll) 
          System.out.println(element);  //打印数组每个元素
 数组拷贝   copyTo()
数组排序   sort()
   7 对象和类
  静态域(字段)和静态方法 ,属于类 而不属于类实例,类的所有实例共享一份数据
  静态常量,静态的变量用得很少,静态常量却使用比较多。
静态方法 是一种不能向对象实例操作的方法。可以认为静态方法是没有this参数的方法
  构造器
   this(param,param)  利用this 可调用同一类的另一个构造器
 初始化块  
 类初始时,首先运行初始化块,然后才运行构造器的主体部分。这种机制不是必需的,也不常见,通常,直接将初始化代码放在构造器中。
  对象析构与finalize方法
  Java有自动垃圾回收器,所以不支持析构器。
  当某些对象使用了内存之外的资源,可以为任何一个类添加finalize方法。该方法在垃圾回收器清除对象之前调用。在实际应用中,不要依赖于使用finalize方法回收任何短缺的资源,因为很难知道这个方法什么时候才能够调用 。
   包
   Java使用包将类组织起来。使用包的主要原因是确保类名的唯一性。
   所以,Sun公司建议将公司的域名倒序作为包名。从编绎器的角度来看,嵌套的包之间没有任何关系。
   导入 import java.util.*   或者 import java.util.Date;
   8 继承
  super 关键字
  super()  调用父类的构造器 ;super.func()   调用父类 的方法
  final 
   确保方法或者类不会在子类中改变语义.
   9 接口
接口中不能包含实例域或者静态方法,但可以包含常量 .
 接口实现多继承
implements  是一个类实现一个接口用的关键字
  10 内部类
 内部类是定义在另一个类中的类.
  局部内部类
  可以在一个方法中定义局部类,局部类不能用public或private 进行声明,它的作用域被限定在声明该局部类的块中.所以对外部完全隐藏.
 匿名内部类
 假如只创建这个类的一个对象,就不必命名了.这种类被称为匿名内部类.  个人感觉像C#中的匿名类或者类初始化器.
 静态内部类
有时候,使用内部类只是为了把一个类隐藏在另外一个类的内部,并不需要内部类引用外围类对象.此时,可以将内部类声明为static,以便取消产生的引用.
  11 异常
异常对象都是派生于Throwable类的一个实例,用户可以创建自己的异常类.
 Throwable下一层分为两个分支:Error和Exception 
     Error Java运行时系统的内部错误和资源耗尽错误.应用程序不应该抛出这种类型的对象.这种错误很少出现.
     Exception  设计程序时,需要关注Exception层次结构.它又分解为两个分支:
                          一个派生于RuntimeException,由程序错误导致,如数组越界,类型转换错误等,
                         另一个包含其他异常,像I/O错误这类问题.如打开不存在的文件等.
     Java规范将派生于以上两个类的异常称为未检查(unchecked)异常,所有其它异常称为已检查(checked)异常.
 异常捕获
     如果想传递一个异常,就必须在方法的首部添加一个throws说明符.
 断言
    assert 条件;和 assert 条件:表达式;  (默认情况下被禁用。在eclipse中,必须开启相关设置。具体打开Window-preferences,选择Installed JREs,选择相关版本,点击edit,在Default VM arguments里面输入-ea就可以了。)
在java中,给出了三种处理系统错误的机制
    a 抛出一个异常
   b 记日志  
   c 断言    断言是致命的、不可恢复的错误;断言只用于开发和测试阶段。
记录日志    
// 日志处理 包
    java.util.logging.Logger;  
 java.util.logging.Level; 
  12  调试技巧
     打印或者记录变量 的值;
     在每个类中放main()函数,这样就可以对每个类进行单元测试。一个鲜为人知却非常有效的技巧。
    JUnit框架
    日志代理等等。

我的Java之旅 第四课 JAVA 语言语法 基础的更多相关文章

  1. 我的Java之旅 第六课 JAVA WEB 请求与响应

    一.有关URL编码    1.在URL的规范中定义了一些保留字符,如::  /  ?  & =  @  % 等,在URI中有它的作用.如果要在URI中包含这些字符,必须转码,即%字符后跟十六进 ...

  2. 我的Java之旅 第五课 JAVA 语言语法 集合

    JAVA集合只能存放引用类型的的数据,不能存放基本数据类型,int 可以用 Integer代替. 一.集合接口  1.  Iterable<E> 实现这个接口允许对象成为 "fo ...

  3. 我的Java之旅 第七课 JAVA WEB 会话管理

    1.隐藏域       隐藏域其实不是Servlet/JSP的会话管理机制的内容,但它能实现简单的页面状态记录的效果. 2.Cookie    Cookie类    setMaxAge() 设置有效期 ...

  4. JAVA之旅(四)——面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块

    JAVA之旅(四)--面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块 加油吧,节奏得快点了 1.概述 上篇幅也是讲了这点,这篇幅就着重的讲一下思想和案例 就拿买 ...

  5. [Java并发编程(四)] Java volatile 的理论实践

    [Java并发编程(四)] Java volatile 的理论实践 摘要 Java 语言中的 volatile 变量可以被看作是一种 "程度较轻的 synchronized":与 ...

  6. 我的Java之旅 第三课 从Applet到JSP

    一.Applet   Applet是一种特殊的Java程序,它本身不能单独运行(因为本身没有main()),需要嵌入在一个HTML文件中,借助浏览器或者appletviewer来解释执行.   App ...

  7. JAVA学习第十四课(接口:implements及其基本应用)

    接口: 我们知道抽象类中能够定义抽象方法,也能够定义非抽象方法.当一个抽象类中的方法都是抽象方法的时候,我们就能够定义还有一种表现方式:接口(interface),所以接口是一种特殊的抽象类 接口的出 ...

  8. 我的Java之旅 第八课 Servlet 进阶API、过滤器与监听器

    1.Servlet.ServletConfig与GenericServlet     首次请求的顺序      => 生成HttpServletRequest与HttpServletRespon ...

  9. java学习笔记(四):import语法

    Import 语法是给编译器寻找特定类的适当位置的一种方法. 创建一个Employee 类,包括四个实体变量姓名(name),年龄(age),职位(designation)和薪水(salary). p ...

随机推荐

  1. Javascript高级编程学习笔记(8)—— 变量

    日常更新~~ 变量 所有的编程语言中,变量都是赋予语言灵活性的根本所在. 那么JS中的变量又有那些与众不同的地方呢.? 按照ECMA-262的定义,JS的变量和其他编程语言的变量有很大的区别 其松散类 ...

  2. MySQL长度、大小写验证问题[开发篇]

    实际情况是这样的,从外部读取数据,然后存入数据库,要求不能重复存入数据. 由于以前的系统里没有加唯一键,所以,就只有手动判断相同记录是否存在了. case1.由于其中某个值存在为空情况,而存入时该值变 ...

  3. MANIFEST.MF文件详解

    1. 依赖包是否在classpath中: 2. 资源文件目录是否在classpath中: 3. 主类是否正确: 具体配置参考 maven-jar-plugin 配置 <plugin> &l ...

  4. mybatis-plus代码生成器

    public class MyBatisPlusGenerator { public static void main(String[] args) throws SQLException { //1 ...

  5. 30-socketserver类

    SocketServer模块简化了编写网络服务程序的任务.同时SocketServer模块也是Python标准库中很多服务器框架的基础. socketserver模块可以简化网络服务器的编写,Pyth ...

  6. Python项目代码结构

    目录结构组织方式 简要解释一下: bin/: 存放项目的一些可执行文件,当然你可以起名script/之类的也行. luffy/: 存放项目的所有源代码.(1) 源代码中的所有模块.包都应该放在此目录. ...

  7. ajax 请求被终止 chrome查询发现请求状态status为canceled

    检查页面的network执行中发现页面被刷新了url改变了导致请求在请求过程中被终止了. 检查代码发现在 submit方法中最后写了个  location.reload();方法 来重载页面 虽然是卸 ...

  8. [源码]K8 Cscan模块 C#获取内网主机IP/机器名/Banner/网页标题源码

    [原创]K8 Cscan 大型内网渗透自定义扫描器 https://www.cnblogs.com/k8gege/p/10519321.html Cscan简介:何为自定义扫描器?其实也是插件化,但C ...

  9. eclipse连接远程服务器

    eclipse里有一个强大的插件,可以直接在本地编辑远程服务器代码,Eclipse Remote System Explorer (RSE) 下载安装方法: 一.下载,高版本的eclipse可以直接下 ...

  10. 关于小窗滑动,父级body也跟随滑动的解决方案

    需求:当前页面是信息列表,所以高度由内容自动填充, 所以页面可以上下滑动,加载更多, 但是下发物料一栏又为一个列表 所以做了一个弹窗框,因为是列表所以高度自然又是不可控的,所以给了一个最大高度,当超出 ...