JavaSE 第二次学习随笔(一)

Java是一种区分大小写的强类型准动态语言

  动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化,类型的检查是在运行时做的,优点为方便阅读,清晰明了,缺点为不方便调试;(比如 : JavaScript Ruby Python OC)

  静态类型语言的类型判断是在运行前判断(如编译阶段),比如 C#, Java, C, C++就是静态类型语言,静态类型语言为了达到多态会采取一些类型鉴别手段,如继承、接口,而动态类型语言却不需要,所以一般动态语言都会采用dynamic typing;  (此部分来自于百度百科)

  Java遵循: 里氏替换原则;OCP作为OO的高层原则,主张使用“抽象(Abstraction)”和“多态(Polymorphism)”将设计中的静态结构改为动态结构,维持设计的封闭性。“抽象”是语言提供的功能。“多态”由继承语义实现。


1.在一个.java文件中只能有一个 public 类,  .java 文件的名字一定是和public类名字一致,一个类对应一个 .class 文件

 清晰三者关系 JVM JRM JDK
 JVM Java virtual machine       Java虚拟机 可以用于实现跨平台
 JRE Java RunTime Environment   包含了JVM和核心类库,存在jre的情况下可以运行java 程序
 JDK Java Development Kit Java   开发工具包包含运行时所需要的工具和JRE

2.数据类型

* 数据类型:决定了变量所占内存空间的大小.并且给变量确定了类型.
* 分类:有符号型(有负数,0,正数)和无符号型(只有0和正数)
*
* 主要研究有符号型:
* 两类:
* 1.简单数据类型
* >数值型
* >>byte 一个字节  [-2^7,    2^7-1]
* >>short 2个字节  [-2^15,2^15-1]
* >>int 4个字节      [-2^31,2^31-1]
* >>long 8个字节   [-2^63,2^63-1]
* >浮点型:小数-采用的科学计数法
* >>float 4个字节 最大值:3.4028235E38
* >double 8个字节 最大值:1.7976931348623157E308
* >布尔型
* >>boolean 1个字节 只有两个值: true/false
* 注意点:java中boolean值只有两个值.跟c不一样.c中0可以表示false,非零表示true
* >字符型
* >char 1个字节 这里所对应的字符集是ASCII--世界通用标准 '0'--48 'A'--65 'a'--97
* 常用的字符集: GBK/GB2312(中国)         ISO8859-1 欧洲的      utf8    通用标准 unicode 内部标准
* 对于中文:   2个字节(英文一个字节)    不支持中文-对应一个字节  3个字节   2个字节

* 编码:我们将字符(字符串)通过字符集转成对应的二进制形式
* 解码:反之解码
* 乱码:在编码与解码过程中使用的字符集不一致,造成了错误.

//1.数据类型之间的转换
//数据的类型等级高低(根据数据的范围划分):从低到高:byte,char-short-int-long-float-double
/*
* 自动类型转换:从低等级到高等级,不会造成数据的损失,但是可能浪费一些内存.
* 强制类型转换:从高等级到低等级.有可能造成数据的损失.

3.标识符是什么?

    标识符就是用于Java程序中变量,类,方法等命名的符号。规则: 

  ①    不可使用java关键字和保留字.

  ②    可以使用26个字母大小写,数字0-9,$和_ 以及UNICODE字符集任意的字符(不包含ASCII码重复的部分, 虽然可以用但是 非常不建议使用)

  ③    数字不可以放在首位.

  ④    长度理论上没有限制,但命名最好能反映出其作用,遵循”驼峰形式”,见命知意. 此部分来自(https://www.cnblogs.com/mmmmyblog/p/7990392.html)

Java语言有51个关键字,其中const和goto虽然被保留但未使用。你不能使用保留关键字来命名类、方法或变量。

保留关键字

数据类型:Boolean    int    long    short    byte    float    double    char    class    interface

流程控制:if     else    do    while    for    switch    case    default    break    continue    return    try    catch    finally

修饰符:   public    protected    private    final    void     static    strictfp     abstract     transient synchronized     volatile    native

动作:    package    import     throw    throws     extends    implements    this    Super    instanceof    new

保留字:   true     false    null    goto    const  此部分来自(https://www.cnblogs.com/ouysq/p/4474267.html)

4.     

  注释  编译时会直接忽略
  常量
  变量
  进制转换
  运算符

  流程控制语句{
    顺序结构
    分支结构
    循环结构
  }

原文地址:https://www.cnblogs.com/chinashenkai/p/9406691.html