查看: 1137|回复: 0

[Java学习] Core Java第二章知识点总结(一)

发表于 2018-3-8 13:29:53
本帖最后由 半夏花开 于 2018-3-8 13:48 编辑

内容预览

注释

jar命令

标识符

变量与字面值

局部变量

表达式与运算符

String字符串初探


Java的注释

(说明性质的文字增强程序的可读性不被编译器编译 直接忽略)

任意一种语言都支持单行、多行注释

Java注释的分类:

1.      单行注释(//)

a)      可以书写在任何位置

b)      反斜杠后写一行描述性文字

2.      多行注释(/*  */)

a)不允许嵌套

3.      javadoc注释(/** */)实现注释和代码分离

a)      只能写在类、方法上面,不能写在方法内部

b)      区别:只给用户看注释,不给用户看源代码

Java:

企业级软件 ERP CRM

行业软件 eg:医院 只给软件使用权 不需要给用户看源代码

c)      javadoc命令可以抽取注释生成html文件

d)      javadoc命令格式

javadoc –d doc HelloWorld.java

-d:目录(directory)

doc:特定文件夹(html文件放在doc里面)

用户查看index.html文件

e)      生成javadoc文件,必须是公共类

格式:

/**

*类名:

*作者:

*开发日期:

*作用:

*修复日期:

*原因:

*/

4.      总结Java的注释

a)        注释的3种写法

b)        javadoc注释的作用

c)        JavaSE API文档Application Interface

1.      包的概念(解决类名冲突类似于操作系统的文件夹但实际上不是)

2.      包的创建与package关键字

带有包的编译 javac –d .HelloWorld.java

                             java p1.HelloWorld

a)        写在类代码的第一行,大小写区分

b)        不一定要写,极大程度解决类名命名冲突

c)        属性从属于包------>全限定名(包名+类名)

3.      子包的概念(文件夹的嵌套)

a)        javac –d . HelloWorld.java

b)        一个包里可以有多个类(不要同名)

c)        不能够手工创建文件夹充当包

4.      带有包的使用和import语句

a)        p1.p2.HelloWorld hw;声明时全限定名

带包时,按层级结构,严格书写,最深层

b)        相同包下的类,不用写包

c)        使用的类多次使用 import

import  p1.p2.HelloWorld;预先声明

import  p1.p2.*; 所有的类

5.      JavaSE中的包

a)        java lang(System,String)java.lang中的包不用import 直接使用

b)        java.util

c)        java.sql

d)        java.io

e)        后续学习其中的类

6.      java包的命名要求

a)        不要以java开头

b)        建议:以公司的域名反写作为java类的包

c)        一般包名全部小写 package com.oralce.项目.模块

d)        自己写的类可以带*,但Java API里的类用哪个导入哪个

jar命令

1.      jar包(保存、压缩.class文件 文件的压缩格式)

防止病毒感染 传输速率快

tar: Linux

zip: Windows、Linux

rar:Windows

a)        java cvf test.jar HelloWorld.class

b)        java cvf test.jarHelloWorld.class Welcome.class(多个类以空格区分)

c)        java cvf test.jar p1(包名 最外层)

d)        cvf:

c:create 创建

v:view 显示创建信息

f:创建文件

2.      第三方jar

现在的软件是大规模、多人配合;不是单打独斗。

别的程序员写的,不必关心实现,只知道调用。

设置CLASSPATH

a)        oracle_common.jar

b)        CLASSPATH

.;D:\ oracle_common.jar

c)        oracle_common.jar的使用

标识符

1.      标识符的概念

a)        合法字符(类、变量、包)

字母、数字、下划线、货币符号($) @ # !

数字不能应用首字母

b)        大小写敏感

HelloWorld !=helloworld

c)        Java语法关键字

java中有一些字符用作特殊用途称之为关键字

关键字不能用于标识符

如:class public staticvoid package import

2.      java语言中的关键字(关键字、保留字、boolean 小写,不能用于标识符)

a)        ……

b)        Java语言保留但未使用的关键字:gotoconst(C/C++)

c)        严格来说true和false不是关键字,他们是布尔数据类型的值

3.      标识符命名习惯(养成良好的习惯----->约定俗成的习惯)

a)        望文生义

b)       推荐命名规则

                        i.             包名:全部小写,如com.oraclesdp

                      ii.             类名:每个单词首字母大写如:HelloWorld

                     iii.             接口名:每个单词首字母大写如:HelloInterface

                     iv.             变量/方法名:第一个单词小写后面每一个单词大写如:score showUserInfo(驼峰命名法)

                      v.             常量:每个单词都大写多个单词之间以下划线连接如:REQUEST_CODE

变量与字面值

1.      变量概念(在内存中开辟空间,存储数据,并取名)

a)        程序运行在内存中

b)        程序的核心是处理数据

c)        在内存中存储数据的单元(容器)

d)       内存中:内存地址------>不好记------>取别名------>变量

2.      变量的创建

int i;

int i, j;

习惯 int i; int j;

a)        强数据类型编程语言定义变量时指定其数据类型

b)        满足不同需要(单人间、双人间、总统套房)

3.      变量的赋值(在空间中存储数据)

a)        int i; i = 10;

b)        int i = 10;(创建与赋值整合)

4.      变量的字面值

a)        变量可存储的合法的数据

b)        int i; i = 10; i = 20.1;

5.      注意几点:

a)        声明一个变量

b)        对变量进行赋值

c)        才能使用该变量

d)        实例变量和局部变量,局部变量必须先初始化才能使用,实例变量不必初始化也可使用。

变量的数据类型

1.      基本的数据类型(8种)

a)        整数类型 byte short int long

b)        浮点数类型 float double

c)        布尔类型 boolean

d)        字符类型 char

2.      对象数据类型

a)        String

b)        System

c)        Student

3.      byte(1个字节------>8位)

a)        取值范围 -128-----127 -2^7-------2^7 - 1

4.      short(2个字节------>16位)

a)        取值范围 -32767-----32768 -2^15-------2^15 - 1

5.      int(4个字节------>32位)

a)        取值范围 -2147483648-----2147483647 -2^31-------2^31 - 1

6.      long(8个字节------>64位)

a)        取值范围…… -2^63------2^64 – 1

b)        long l = 100l;

c)        long l = 100L;

d)        字面值(必须加L/l)------>一般大写L,因为小写l像数字1

7.      整数的8进制表示形式(逢8进1 以0开头)

a)        byte b = 012;

b)        long l = 012L;

8.      整数的16进制表示形式(逢16进1 以0x开头)

a)        byte b = 0x41;

b)        long l = 0x41L;

9.      float(4个字节------>32位 单精度浮点数)

a)        float b = 12.2f;

b)        float b = 12.2F;

10.  double (8个字节------>64位 双精度浮点数)

a)        double  b = 12.3;(可加D/d,亦可不加)

11.  科学计数法(8个字节------>64位)

a)        float b = 2.667e13f;------>2.667 x 10^13 f

b)        double d = 1.57e-3; ------>1.57x 10^-3

12.  浮点数丢失精度问题

a)        double d = 2.0 – 1.1;println(d); d = 2.8999999…;

b)        表达小数时有可能丢失

13.  boolean(一个字节)真假 存在与否

a)        boolean 字面值true false

b)        boolean 字面值不可以用0或者1C/C++(true/false 1/0)

c)        如:boolean isChecked = true;

14.  char(2个字节------>16位)

a)        char a = ‘A’;

b)        unicode码表示------>和字母一一对应 如:char a = ‘\u0041’;4位16进制数表示

c)        char a = 65;翻译成对应的unicode码 计算机只认识数字 数字------>表示字符

15.  转义字符(特殊含义字符)

a)        ‘\n’:换行

b)        ‘\r’:回车

c)        ‘\t’:退格,相当于TAB键

d)        ‘\\’:\

e)        ‘\’’:’

f)         ‘\’’’:’’

g)        Windows:换行=回车

h)        其他操作系统:不一定

类型转换

1.      类型转换(存储空间较小的数据可以赋值给存储空间大的,反之不行)

a)        int i = 10;

b)        long l = i;

c)        int b = 10;

d)        byte c = b;//错误

2.      强制类型转换(大的给小产生丢失精度问题)

a)        int b = 10;

b)        byte c = (byte)b;

c)        byte b = (byte)128;//丢失精度 -128

3.      自动类型提升(多变量运算运算结果类型有提升伴随强制类型转换)

a)        byte b = 10;

b)        byte c = 20;

c)        byte d = b + c;//错误,int d

d)        byte d = (byte)b + c;

4.      自动类型提升结论

a)        A B 其中有double,运算结果为double

b)        A B 其中有float,运算结果为float

c)        A B 其中有long,运算结果为long

d)        其余情况为int

5.      思考

a)        char c = ‘A’;

b)        char b = c + 1;//错误

c)        char b = (char)c + 1;//正确




回复

使用道具 举报