总结1-12
1.注释,标识符,关键字
注释
- 单行注释: //内容
- 多行注释: /内容/
- 文档注释: /** 内容 */
关键字
| abstract | assert | boolean | break | byte |
| case | catch | char | class | const |
| continue | default | do | double | else |
| enum | extends | final | finally | float |
| for | goto | if | implements | import |
| instanceof | int | interface | long | native |
| new | package | private | protected | public |
| return | strictfp | short | static | super |
| switch | synchronized | this | throw | throws |
| transient | try | void | volatile | while |
- Java 所有的组成部分都需要名字。类名,变量名以及方法名都被称为标识符。
标识符注意点
- 所有标识符都应该以字母(A-Z 或 a-z),美元符($),或者下划线(_)开始,
- 首字符之后的字母数字任何字符搭配组合都可以
- 不能使用关键字作为变量名或方法名。
- 标识符是大小写敏感的
- 合法标识符举例:age ,$salary,_value,_1_value
- 非法标识符举例:123abc,-salary,#abc
- 可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音
例如这里的 String Hello = "HelloWorld"; Hello就是标识符
java public class Hello{
public static void main(String[] args)
{String Hello = "HelloWorld";
System.out.println(Hello);
}
}
2.数据类型
-
强类型语言
- 变量的使用要严格符合规定,所有变量都必须先定义后才能使用.
-
弱类型语言
- 弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过显性强制转- - 换。弱类型语言包括vb 、PHP、javascript等语言。
八大基本数据类型
数值类型:
- 整数型:
- byte:占字节范围 -128-127
- short:占2个字节范围:-32768-32767 //2字节就是16bit位,65535换算成2进制16个1,超过8个1才算超出范围
- int:占4个字节范围:-2147483648-2147483647
- long:占8个字节范围:-9223372036854775808-9223372036854775807
- 浮点类型:小数类型
- float:占4个字节
- double:占8个字节
- 字符类型:
- char:占2个字节 //文本
- boolean类型:占1位其值只有true和false //是或非
public class Demo01 {
public static void main(String[] args)
{//八大基本数据类型
// 整数
int num1 =10; //最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L; //long 类型要在数字后面加L
//小数:浮点数
float num5 =50.2F; //float 类型要在数字后面加F
double num6 =100.3232;
//字符:文本
char name ='是' //中文占两个字节,限制最多两个字节
//string name = "试试" 不属于八大基本数据类型,属于类
//布尔值:是true 非false
boolean flag =true;
boolean flag =false;
}
3.类型转换
- 由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
- 低---------到--------高
- byte,short,char--->int--->long----->float----->double
- 运算中,不同类型的数据先转化为同一类型,然后进行运算(boolean不能进行转换)
- 强制转换 (类型)变量名 高---低
- 自动转换 低---高
public class Demo01{
public static void main(String[] args)
{ int i = 128;
byte n = (byte) i ; //高转低,把 i 强制转换为byte,数据会溢出,byte数值范围在 -128 ~127
double b = i ; //低转高不需要强制转换,自动转换
/*
注意点:
1.不能对布尔值进行转换
2.不能对不同的类型进行转换
3.在把高容量转换到低容量的时候,强制转换
4.转的时候可能存在内存溢出,或者精度问题。
*/
//精度
System.out.println("======分割线=======");
System.out.println((int)23.7); /输出23 ,存在精度问题,会舍去小数点后面的数字
System.out.println((int)-45.53); /输出-45,存在精度问题
//内存溢出
int money = 10_0000_0000; //符号 _ 不会被输出,方便查看数字
int years = 20;
int total = money*years; //输出-1474836480 ,计算时内存溢出
long total2 = money*years; //默认时int,转换之前就存在问题
long total3 = money*((long)years); //先把一个数转换为Long
System.out.println(total3); //输出就正常了
}
}
4.变量,常量
变量
- 变量:可以变化的量叫变量.
- Java是一种强类型语言,每个变量都必须声明其类型.
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域.
type name = value;
//数据类型 变量名 值 可以使用逗号隔开声明多个同类型的变量.
注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型.
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束.
常量
- 常量(Constant):初始化(initialize)后不能在改变,不会变动的值.
- 常量可以理解成一种特殊的变量,他的值被设定后,在程序运行过程中不允许被改变.
final 常量名 = 值 ;
final double PI = 3.14;
- 常量名一般使用大写字符.
变量的命名规范
- 所有变量,方法,类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写 lastName
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(),runRun()
public class Variable{
static int allClicks=0; // 类变量
string str="hello world"; //实例变量
public void method(){
int i = 0; //局部变量
}
}
5.运算符
-
Java 语言支持如下运算符
- 算术运算符: +, -, *, /, %, ++, --
- 赋值运算符: =
- 关系运算符: >, <, >=, <=, ==, !=instanceof
- 逻辑运算符: &&, ||, !
- 位运算符: &, |, ^, ~, >>, <<, >>> (了解)
- 条件运算符: ?:
- 扩展赋值运算符: +=, -=, *=,/=
算术运算
算术运算符: +, -, *, /, %, ++, -- //加减乘除 取模 自增 自减
+ - * /:加减乘除
int i =3; byte b = 4; long l = 5;
int n = i+b; //结果类型为int
int m = i+l;//结果类型为long
-
总结:
-
除了long类型,byte short int 进行运算结果都为int,与long类型进行运算结果都为long 类型
-
% :取模 取余数(11/2=5余1)(13%2=6;余1输出的结果就是1)
-
++ -- : 自增 自减 一元运算符 a++是先进行取值,后进行自增。++a是先进行自增,后进行取值。
-
例如:a=2 a++ = 2 ++a = 4 前者是先取值,再加1,所以输出 2。后者是先加1后取值,把前者的自增的结果再自增 2+1+1=4
-
赋值运算符: = //把一个值赋值给变量 例:int a = 10;
-
关系运算符: >, < , >= , <=, == ,!=instanceof // == 表示相等 != instanceof 不相等
-
逻辑运算: && , || , ! //与 或 非
-
&& : 与 逻辑与运算,两个变量都为真,结果才为true
-
|| : 或 逻辑运算,两个有一个为真,结果为true
-
! : 非 如果是真,结果为假,结果相反
-
例如:
int c = 5;
boolean d = (c<4)&&(c++<4); // false && false
System.out.println(d); // false
System.out.println(c); // 5
- 位运算符: & , | , ^ , ~ , >> , << , >>>
- 位运算: 位运算都是二进制运算
- &与 |或 ^异或 ~取反 >>右移运算符 <<左移运算符
- 例如:
a= 0011 1100;
b= 0000 1101;
a&b=0000 1100; //a与b 上下比较,都为1结果为1,其他为0
a|b=0011 1101; //a或b 上下比较,有一个为1结果都为1,都为0结果为0
a^b=0011 0001; //a异或b 上下比较,相同为0,不相同为1
~b=1111 0010; //取反 b 为0则1,为1则0
a << 2; //<< *2 把二进制的1向前移动两位后面补00 a=1111 0000
a >> 2; //>> /2 把二进制的1向后移动两位后面补00 a=0000 1111
条件运算符: ?:
//三元运算符
//x ? y : z
//如果x==true,则结果为y,否则结果为z
int score = 50;
string type = score < 60 ? "及格":"不及格" ; //输出为true,不及格 重点掌握
// 和 if 类似
扩展赋值运算符: += , -= ,*= , /=
int a=10;
int b = 20;
a+=b; //a=a+b
a-=b; //a=a-b
扩展面试题
//字符串连接符 string
System.out.pintln(""+a+b); //计算出结果1020,将a与b拼接成1020字符串类型
System.out.pintln(a+b+""); //计算结果是30
- 字符串在前面,输出的就是字符类型。整数型在前面,输出的就是整数型。根据最前面的数据类型来判断输出的结果。
6.包机制,JavaDoc
包机制
-
为了更好的组织类,java提供了包机制,用于区别类名的命名空间。
-
包语句的语法格式为:
-
package pkg1[.pkg2[.pkg3...]];
-
一般利用公司名的倒置作为包名
-
例如: com.neil.www
-
src->New->Package->com.neil.www
-
如下设置把Compact Middle Package 勾选去掉,就可以分类显示
![]()
-
为了能够使用某一包的成员,我们需要在java程序中明确导入该包。使用 import 语句可完成此功能
-
import package1[.package2...].(classname|*);
package com.neil;
//import com.neil.*; 导入包下所有的类
import com.neil.Hello; //加载 另外一个包下的类
public class Hello{
public static void main(String[] args)
{String Hello = "HelloWorld";
System.out.println(Hello);
}
}
JavaDoc
- Javadoc命令是用来生成自己API文档的
参数信息
@author //作者名
@version //版本号
@since //指明需要最早使用的jdk版本
@param //参数名
@return //返回值情况
@throws //异常抛出情况
package com.neil.base;
/**
*@author neil
*@version 1.0
*@since 1.8
*/
public class Doc{
string name;
/**
*@autor neil
*@param name
*@return
*@ Exception
*/
public String test(String name) throws Exception{
return name;
}
}


- 设置为UTF-8,编译成文档供大家阅读
- javadoc -encoding UTF-8 -charset UTF-8 Demo04.java

- 生成index.html,打开就可以看到操作文档


- 以上是通过命令行 javadoc 参数 Java 文件
使用IDEA生成JavaDoc文档
-
设置 IDEA Tools-->Generate JavaDoc
-
标注的是重要的部分,输出文件夹路径以及命令行参数。
-
这里的命令行参数很重要,因为只有使用 utf-8 编码才能保证生成时可以正常处理中文字符,所以一定要加上:
-encoding utf-8 -charset utf-8

- 生成JavaDoc文件,打开index.html就可以查看文档了




浙公网安备 33010602011771号