内容预览
注释
包
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;
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;//正确
局部变量
1. 局部变量概念
定义在方法(等同于函数)内部的变量叫做局部变量
2. 局部变量的使用要求
a) 先赋值,后使用
b) 代码说明
public classTestLocalVar{
public static void main(String[] args){
int i;
System.out.println(i);//错误
}
}
3. 局部变量的作用域
a) 从变量定义位置开始,到整个定义它的代码块为止
b) 同一个作用范围内不允许发生局部变量命名冲突
c) 局部变量------->就近原则
表达式
1. 概念:由字面值、变量、常量通过运算符连接的式子
2. 表达式一定要有结果
3. 举例:
a) 1 + 2;
b) a + b;
c) b = a;
d) int c = 45; int d;System.out.println(d = c);
运算符
1. 赋值运算符(从右往左看)
a) = *= /= %=
b) += -= <<= >>=
c) >>>= &= ^= /=
d) 说明:>>=:有符号右移 >>>=:无符号右移
e) byte b = 1; b = b + 1;//错误,有自动类型提升 b += 1;//不用自动类型提升
2. 比较运算符(布尔表达式)
a) > >= < <= instanceof(面向对象)
3. 相等运算符
a) == !=
b) ! 相反
c) int a =10; int b = 20;System.out.println(!(b > a));
4. 算术运算符
a) + - * / %
b) 5 / 2;//自动类型提升 5.0 / 2;//2.5
c) %:求模(判断偶数 ? % 2 == 0)
5. 移位运算符(加密运算,使用很少)
a) >> << >>>
b) >>:移一位除2
c) <<:移一位乘2
d) >>>:无符号右移(正数:同右移运算符 负数:变成正数,非常大,无规律)
6. 位运算符(二进制运算)
a) & | ^ ~
b) 与 或 异或 反
c) 与:有0出0
d) 或:有1出1
e) 异或:相同为0,不同为1
7. 逻辑运算符(双方为布尔值)----->运算结果也为布尔值
a) & | && ||
b) &:两个变量都要看
c) &&:短路与,前面为false,结果为false(效果同&,效率高于&)
d) ||:短路或,前面为true,结果为true(效果同|,效率高于|)
8. 条件运算符(三元/三目运算符)
a) ? :
b) 说明:问号前面跟布尔表达式,为true执行冒号前面的,为false执行冒号后面的
9. ++ -- 运算符
a) ++ --
b) ++i:变量的值效果同,表达式的值不同(先加后使用)
c) i++:变量的值效果同,表达式的值不同(先使用和加)
d) 比如,i = 10; i ++; ++i;i++和++i后i都是11,但是++i表达式的值为11,i++表达式的值为10.
10. 运算符的优先级 加()表示优先执行
String初探
1. String类型(对象类型,不是8种基本数据类型)
2. 示例
a) String name = “suns”;
b) char a = ?A?;
c) char b = ?AB?;//错误
d) String c = ?ABC?;//错误
e) String nam = “Suns”;
3. String的连接:使用?+?。可以连接字符串、各种基本数据类型。
八年级上册英语语法短语和知识点总结Unit1Wheredidyougoonvacation本单元的话题谈论假期活动内容复习一般过去…
新目标八年级上英语复习提纲Unit1Howoftendoyouexercise语言目标Whatdoyouusuallydoonwe…
新目标八年级上英语复习提纲Unit1Howoftendoyouexercise语言目标Whatdoyouusuallydoonwe…
初二英语语法总结一知识点总结一般将来时一般将来时表示将来某个时间要发生的动作或者存在的状态通常与表示将来的时间状语连用如tomor…
初二英语语法知识重点总结一知识强化1掌握本单元的重点词汇及句型2谈论最好做某事和正确做某事培养提高自己的交际能力3正确使用shou…
知识点总结1Java的三大平台JavaSEJ2SEJavaEEJavaME2Java如何配置环境变量安装gt右键我的电脑gt高级g…
Java程序设计基础知识点总结1类首字母大写如果一个类名由多个单词构成那么每个单词的首字母都大写中间不使用任何的连接符比如Pers…
Java基础知识总结写代码1明确需求我要做什么2分析思路我要怎么做1233确定步骤每一个思路部分用到哪些语句方法和对象4代码实现用…
java知识点总结应同学要求特意写了一个知识点总结因比较匆忙可能归纳不是很准确重点是面向对象的部分12345678java有三个版…
目录目录基础篇一JDK常用的包二Get和Post的区别三Java多态的具体体现六九大隐式对象七Forword请求转发与Redire…