文档注释
关键字与保留字
标识符规则与规范
变量简介
数据类型
常量类型
String
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_ZZZ
3.变量的定义与使用;
一 变量的分类
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);