1.API; 一 Java API 文档(Application Programming Interface 类似于新华字典。API文档是Oracle公司提供的关于Java的一套开发说明。 注: 良好的编程风格 注释的作用 : 1.提高了代码的阅读性 2.调试程序的重要手段
单行注释 :// 多行注释 : /* / 文档注释 :(生成说明文档的类必须被public修饰) /* */
文档注释: 1.文档注释是java特有的 2.作用 :用来生成类的说明文档 3.生成文档的命令 : javadoc -d mydoc -author -version 源文件名.java
javadoc : 开发工具集 -d : 参数 mydoc : 生成的文档所在的目录名 -author -version : 文档注释中使用到的注解例子:
//java特有的文档注释练习 /** @author 小程壮士 @version 1.0 */ public class CommonTest{ public static void main(String[] args){ } } 在cmd中输入: javadoc -d mudoc -author -version CommonTest.java案例:生成爱心
class PrintHeart{ public static void main(String[] args){ System.out.print(" "+"*"+" "+"*"+" "+"\n"); System.out.print(" "+"*"+" "+"love you"+" "+"*"+" "+"\n"); System.out.print(" "+"*"+" "+"*"+" "+"\n"); System.out.print(" "+"*"+" "+"*"+" "+"\n"); System.out.print(" "+"*"+" "+"*"+" "+"\n"); System.out.print(" "+"*"+" "+"*"+" "+"\n"); System.out.print(" "+"*"+" "+"*"+" "+"\n"); System.out.print(" "+"*"+" "+"\n"); } }2.标识与命名规则
一 java关键字的使用 定义:被java赋予了特殊含义的字符串(单词) 特点:所有字母都是小写
二 保留字 :java现版本暂未使用,但以后的版本可能作为关键字来使用
三 标识符的使用: 标识符-凡是需要自己命名的地方都叫标识符
四 标识符的规则与规范:( 注意 :起名字时一定要做到见名知意)
定义合法标识符规则: 1.由26个英文字母大小写,0-9 ,_或 $ 组成 2.数字不可以开头。 3.不可以使用关键字和保留字,但能包含关键字和保留字。 4.Java中严格区分大小写,长度无限制。 5.标识符不能包含空格。 Java中的名称命名规范: 包名:多单词组成时所有字母都小写:xxxyyyzzz 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ3.变量的定义与使用;
一 变量的分类 1.按照数据类型来分 : 基本数据类型: ①整型 :byte(1字节 = 8bit 表数范围-128 ~ 127) ,short(2字节) , int(4字节),long(8字节) ②浮点型 : float(4字节),double(8字节) ③字符型 :char(2)字节 ④布尔类型 :boolean(只有两个值true和false一般忽略大小) 引用数据类型:类(String),接口,数组 2.安照位置分(面向对象的时候再说) 二 定义格式: 变量的类型 变量名 = 变量值
1.声明和赋值同时进行 : int number = 10; 2.先声明后赋值 : int number; number = 10; 3.同时声明多个变量 int a,b,c; a = b = c = 10; 4.同时声明多个变量和赋值 int a = 10,b = 20,c = 30;三 变量使用的注意点: 1.变量先声明后使用 2.在同一作用域内的变量名不能相同。 3.作用域 :声明那个变量所在的那对大括号内 4.同一个变量可以被多次赋值,后一次赋值覆盖前一次的值 四 java常量的默认类型: 1.java的整型常量默认为 : int 2.java 的浮点型常量默认为 : double 五 变量类型的说明 1.long类型数值后面要加 : l或L 2.float类型的数值后面要加 : f或F 3.double类型后面可以加(一般不加因为默认的常量就是double类型) :d或D 4.变量运算; 一 基本数据类型变量间的运算(不包括boolean) 1.自动类型提升:小容量和大容量的变量进行运算结果用大容量的变量来接收。 byte,short,char -> int -> long -> float -> double 注意: ①byte,short,char三者之间做运算会先将自身提升为int ②容量指的是表数范围 2.强制类型转换:自动类型提升的逆过程 格式 :(强转的类型) 注意:强制类型转换可能会损失精度。 代码:
int number = 128; byte b = (byte)number; System.out.println(b); float f = 12.3f; int num = (int)f; System.out.println(num); int num2 = 100; long lon = (long)num2; //小容量赋值给大容量可以使用强制类型转换符但是没必要 System.out.println(lon); //练习题 double d = 12.3; double d2 = 12.2; //int sum = (int)d + (int)d2; int sum = (int)(d + d2);二 基本数据类型(8种)与String间的运算 1.字符串的声明和赋值
String s = "abc"; String s2 = new String("ccc");2.说明: ①String和基本数据类型只能做连接运算。 ②String和基本数据类型运算的结果还为String。 5.进制;
1.二进制,八进制,十进制,十六进制 二进制 :以0b或0B开头 八进制 :以0开头 十六进制 :以0x或0X开头
2.整数在计算机底层都是以补码的形式存放的 ① 正数的原码,反码,补码都一样(三码合一) ②负数的 原码:对应的正数的二进制,但是最高位变成1 反码:在原码的基础上,除符号位外。0变1,1变0 补码:在反码的基础上加1 3.进制间的转换 6.运算符; 类别:
例: double d = 10 / 4; d = 10 * 1.0 / 4; d = (10 + 0.0) / 4; d = (double)10 / 4; d = 10 / 4 * 4; //8.0 d = 10 * 4 / 4; //10.0 注意 :乘除的顺序可以调换的情况下,先写乘再写除。 一. 取模(取余) 作用 :常常用来判断某个数是否可以被某个数整除
System.out.println(3 % 3); //0 System.out.println(4 % 3); //1 System.out.println(5 % 3); //2 System.out.println(6 % 3); //0 System.out.println(7 % 3); //1 System.out.println(8 % 3); //2
思考 :结果的正负和谁有关 (和被模数的正负有关)
System.out.println(-6 % 4); System.out.println(6 % -4); System.out.println(-6 % -4);二: 前++ 后++ 前-- 后–的区别是什么? ++a : 先自身加1,再赋值(运算) a++ : 先赋值(运算),再自身加1 –a : 先自身减1,再赋值(运算) a–: 先赋值(运算),再自身减1
一 赋值运算符 : = 二 扩展赋值运算符 :+= -= *= /= %=
int a = 10; a += 2; //可以理解成 a = a + 2;三 面试题
byte b = 10; b += 2; //编译可以通过,不会改变原来的数据类型 b = b + 2; //编译会出错,因为byte做运算时会先提升为int所以应该使用int类型的变量来接收数据二 说明:
1.&和&& :两边都为true结果为true (两边有false结果为false) 2.|和|| :两边有true结果为true.(两边都为false结果为false) 3.! : 取反 4.^ : 两边相同为false,不同为true三 特点 :
1.对布尔类型的数据进行运算 2.逻辑运算符的结果为布尔类型四 [面试题]& 和 && , | 和 ||的区别? &和&&的区别? 左边为true时,&和&&右边的式子都会执行。 左边为false时,&右边的式子仍然会执行,&&右边的式子不执行(可以直接推理出结果)。
|和||的区别 左边为false时,|和||右边的式子都会执行。 左边为true时,|右边的式子仍然会执行,||右边的式子不执行(可以直接推理出结果)。<< 左移 : 在一定范围内每向左移一位,原来的数乘以2 >> 右移 : 在一定范围内每向右移一位,原来的数除以2
二 下面两者的区别是什么?
和>>>的区别? 如果是正数最高位用0补,如果是负数最高位用1补: 无论是正数还是负数最高位都用0补
一 格式:
(条件表达式)? 表达式1 : 表达式2;二 说明: 1.条件表达式的结果为boolean 2.条件表达式的值为true则执行表达式1,否则执行表达式2 3.表达式1和表达式2的类型必须一致。(如果可以自动类型提升那么也是可以的) 比如 :double d = (m > n)? 100.5 : 100; 4.三元运算符可以嵌套使用但是不建议 5.可以使用if-else来替换三元运算符,反之不成立。如果两者都可以使用建议使用三元运算符 因为效率高一些。
三 代码:
//需求 :求两个数中的最大值 int m = 10, n = 5; int max = (m > n)? m : n; System.out.println(max); //需求 :求三个数中的最大值 int a = 5, b = 10, c = 20; int maxNumber = (a > b)? a : b; maxNumber = (maxNumber > c)? maxNumber : c; System.out.println(maxNumber);