平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己编写的代码,但是当项目结构一旦复杂起来,我们就需要用到注释了!
注释并不会被程序执行,是给我们自己写代码的人看的,方便理解
书写注释是一个非常好的习惯
Java中注释有三种:
找好看的注释:搜索有趣的代码注释
三种注释的代码
单行注释:只能注释一行,//
public class Hello { public static void main(String[] args) { //单行注释 //输出hello一句话! System.out.println("hello"); } }
多行注释:可以注释一段文字,/* */
public class Hello { public static void main(String[] args) { //单行注释 //输出hello一句话! //多行注释 /* 这是多行注释 这是多行注释 这是多行注释 */ System.out.println("hello");
JavaDoc:文档注释,/** */
public class Hello { public static void main(String[] args) { //文档注释 /** * @descroption hello * @Author zhang */ System.out.println("hello"); } }
comments:注释
Annotations:注解
Bold:粗体
italic:斜体
description:描述
Author:作者
基本类型(Primitive type)
单引号与双引号:‘ 中 ’(只能为一个字符或一个字,‘中’或者‘A’等);” zahng “(可以有多个字符)
判断数值类型大小
八大基本类型代码:
public class Demo2 { //八大基本类型 //整数 byte b1 = 10; short b2 = 100; int b3 = 1000; long b4 = 1000000L;//Long 类型要在后面加一个L,以示区分与上面不同。 //浮点数 float c1 = 1.1665F;//float 类型要在后面加一个F,以示区分与double不同。 double c2 = 1.45466456; //字符类型 char d1 = 'A';//只能写一个字或一个字符 //String不是基本类型,属于引用类型 String e1 = "zhang";//可以写多个字符 //boolean:布尔值,其值只有true与false boolean f1 = true; }
引用类型(reference type):除了基本数据类型,都是引用类型!
变量是什么:就是可以变化的量
java是一种强类型语言,每个变量都必须声明其类型
Java变量是程序中最基本的存储单元,其3要素包括:变量名、类型变量和、作用域
type varName = value //数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型的变量!
注意事项:
低---------------------------------->高 byte,short,char->int-->long-->float-->double
强制类型转换: 高-----低 int-----byte 自动转换: 低------高 int-------double
public class Demo9 { public static void main(String[] args) { int s1 = 128; byte s2 = (byte)s1;//内存溢出 System.out.println(s2); } } 结果为: -128
public class Demo10 { public static void main(String[] args) { int s1 = 128; double s2 = s1; System.out.println(s2); } } 结果为: 128.0
public class Demo9 { public static void main(String[] args) { int s1 = 128; byte s2 = (byte)s1;//内存溢出 System.out.println(s2); } } 结果为: -128
2.不能对boolean值进行转换,boolean是按位来计算大写的,而其他的数据类型单位为字节!!!
3.不能把对象类型转换为不相干的类型(人不能转换为一本书)
4.在把高容量转换为低容量的时候,强制转换
转换的时候可能存在内存溢出,或者精度问题!(浮点数转int时,例如23.7变为23、-4.6变为-4,丢失精度)
char类型
public class Demo11 { public static void main(String[] args) { //字符转换 char s1 = 'a'; int s2 = s1 +1; System.out.println(s2);//自动转换 System.out.println((char) s2);//强制转换 } } 结果为 98 b
操作比较大的数的时候,注意溢出问题,JDK7新特性,数字之间可以用下划线分割
public class Demo12 { public static void main(String[] args) { //数字比较大的时候,注意溢出问题 //JDK7新特性,数字可以用下划线分割表示 int s1 = 1_0000_0000; int s2 = 100; int s3 = s1 * s2;//计算时溢出了 long s4 = s1 * s2;//计算时按默认的int计算,转换为long类型之前就已经错误了 System.out.println(s3); System.out.println(s4); } } 结果为: 451611456564151 451611456564151
解决上面问题
public class Demo12 { public static void main(String[] args) { //数字比较大的时候,注意溢出问题 //JDK7新特性,数字可以用下划线分割表示 int s1 = 1_0000_0000; int s2 = 100; int s3 = s1 * s2;//计算时溢出了 long s4 = s1 * s2;//计算时按默认的int计算,转换为long类型之前就已经错误了 long s5 = s1 * (long)s2;//计算时,先将s2从int转换为long在进行计算,结果就不会出现问题 System.out.println(s3); System.out.println(s4); System.out.println(s5); } }
变量是什么:就是可以变化的量
java是一种强类型语言,每个变量都必须声明其类型
Java变量是程序中最基本的存储单元,其3要素包括:变量名、类型变量和、作用域
type varName = value //数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型的变量!
注意事项:
类变量
实例变量
局部变量
public class Demo13 { //类变量 static int s1 = 10;//类变量必须要以static修饰 //实例变量 int s2 = 123;//没有static修饰为实例变量 //main方法 public static void main(String[] args) { //局部变量 int s3 = 4546;//定义在方法里的变量,局部变量 } }
详解变量
public class Demo14 { //类变量 static int s3 = 464; static { //代码块,定义属性,在类加载的时候就加载了 } //实例变量:从属于对象(当前这个类) //如果不自行初始化,有默认值 //基本数据类型:整数默认值为:0,浮点数为:0.0,字符为:U0000(不显示),boolean为:false //除了基本数据类型,其余的默认值为null int age; String name; char address; double cat; boolean pet; //main方法 public static void main(String[] args) { //局部变量:在当前方法有效,作用域为当前main方法 //必须声明和初始值 int s1 = 11; System.out.println(s1); //实例变量的调用 Demo14 s2 = new Demo14(); System.out.println(s2.age); System.out.println(s2.name); System.out.println(s2.cat); System.out.println(s2.address); System.out.println(s2.pet); //类变量 System.out.println(s3);//可以直接调用 } //add方法 public void add(){ } } 结果为: 11 0 null 0.0 //char的默认值 false
public class Demo15 { static public int S = 14; public static void main(String[] args) { System.out.println(S); } } 输出结果为: 14
public class Demo1 { public static void main(String[] args) { //自增自减,++ -- int s1 = 2; int s2 = s1++;//先赋值再加 int s3 = ++s1;//先加后赋值 System.out.println(s1); System.out.println(s2); System.out.println(s3); } } 结果为: 4 2 4
public class Demo2 { public static void main(String[] args) { //逻辑运算 //短路运算 int s1 = 6; boolean s2 = (s1<5)&&(s1++<5);//前面为false,后面的s1++就不会执行!! System.out.println(s2); System.out.println(s1); } } 结果为: false 6
public class Demo3 { public static void main(String[] args) { //位运算 0 1 /* A =0011 1100 B =0000 1101 A&B:0000 1100 两者都为1,才为1 A|B:0011 1101 两者只要有一个为1,就为1 A^B(异或);0011 0001 两个数字一样为0,不同为1 ~B:1111 0010 取反 2*8 = 16 2*2*2*2 << 左移 >> 右移 0000 0001 1 0001 0000 16 */ System.out.println(2<<3);//上面的例子 System.out.println(256>>2); System.out.println(256>>>2);//与>>结果一样 } } 结果为: 16 64 64
public class Demo4 { public static void main(String[] args) { //三元运算符 //x(语句) ? y : s //如果x==true,则返回y,否则结果为s int s1 = 1; int s2 = 1<2 ? 10 : 5; System.out.println(s2); } } 结果为: 10
package java.lang
import base.Demo14; import base.* //导入全部 *表示通配符
package operator; /** * @author zhang * @version 1.0 */ public class Demo4 { String name; /** * * @param args * @throws Exception */ public static void main(String[] args) throws Exception{ //三元运算符 //x(语句) ? y : s //如果x==true,则返回y,否则结果为s int s1 = 1; int s2 = 1<2 ? 10 : 5; System.out.println(s2); } }
参数信息
生成JavaDoc文档
javadoc -encoding UTF-8 -charset UTF-8 Demo4.java
生成文档
IDEA生成帮助文档
zh_CN //生成中文文档 -encoding UTF-8 -charset UTF-8 //设置编码集
生成JavaDoc帮助文档!