平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构- -旦 复杂起来,我们就需要用到注释了。
注释并不会被执行,是给我们写代码的人看的 书写注释是一个非常好的习惯
Java中的注释有三种:
单行注释
多行注释
文档注释
public class HelloWorld { public static void main(String[] args) { //单行注释 //输出一个Hello,World System.out.println("Hello,World!"); //多行注释 /* 注释 */ /* 多 行 注 释 */ //JavaDoc:文档注释 /** */ /** * @Description HelloWorld * @Author JSS */ } }
关键字
所有的标识符都应该以字母(A-Z 或者a-z) ,美元符($)、或者下划线( )开始
首字符之后可以是字母(A-Z 或者a-z) ,美元符($)、下划线( _)或数字的任何字符组合
不能使用关键字作为变量名或方法名。
标识符是大小写敏感的
合法标识符举例: age、$salary._ value、 1 _value
非法标识符举例: 123abc、-salary. #abc
可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low
public class Demo01 { public static void main(String[] args) { String 王者荣耀 = "百星王者"; //String 王者荣耀 = "倔强青铜"; System.out.println(王者荣耀); /* String Ahello = "JSS"; String hello = "JSS"; String $hello = "JSS"; String _hello = "JSS"; */ //非法标识符 //大小写十分敏感 //String Man = "JSS"; //String man = "JSS"; } }
强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
弱类型语言
Java的数据类型分为两大类
基本类型(primitive type)
数值类型
整数类型
byte 1B -128~127
short 2B -32768~32767
int 4B
long 8B
浮点类型
float 4B
double 8B
字符类型Char 2B
boolean类型 1位 0或1
true
false
引用类型(reference type)
类
接口
数组
位(bit) :是计算机内部数据储存的最小单位,11001100是- 个八位二进制数。
字节(byte) :是计算机中数据处理的基本单位,习惯上用大写B来表示
1B (byte,字节) = 8bit (位)
字符:是指计算机中使用的字母、数字、字和符号
1bit表示1位, 1Byte表示一个字节1B=8b。 1024B=1KB , 1024KB= 1 M 1024M=1G.
变量是什么:就是可以变化的量!
Java是-种强类型语言,每个变量都必须声明其类型。
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
type varName [=value] [{, varName[=value]}] ; //数据类型变量名 =值;可以使用逗号隔开来声明多个同类型变量。
注意事项:
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
变量名必须是合法的标识符。
变量声明是-条完整的语句,因此每一一个声明都必须以分号结束
public class Demo03 { public static void main(String[] args) { //整数扩展: 进制 二进制0b 十六进制0x 八进制0 int i = 10; int i2 = 010; //八进制0 int i3 = 0x10; //十六进制0x 0~9 A~F System.out.println(i); System.out.println(i2); System.out.println(i3); System.out.println("=================================================="); //==================================================== //浮点型扩展? 银行业务怎么表示? 钱 //BigDecimal 数学工具类 //==================================================== //float 有限 离散 舍入误差 大约 接近但不等于 //double //最好使用浮点数进行比较 float f = 0.1f; //0.1 double d = 1.0/10; //0.1 System.out.println(f==d); System.out.println(f); System.out.println(d); float d1 = 21212121221212f; float d2 = d1 + 1; System.out.println(d1 == d2);//true //==================================================== //字符扩展? //==================================================== char c1 = 'a'; char c2 = '中'; System.out.println(c1); System.out.println((int)c1); //强制转换 System.out.println(c2); System.out.println((int)c2); //强制转换 //所有的字符本质还是数字 //编码 Unicode 2个字节 65536 表:(97 = a 65 = A)Excel 2 16 65536 //U0000 UFFFF char c3 = '\u0061'; System.out.println(c3); //a //转义字符 // \t 制表符 // \n 换行 // .... System.out.println("Hello\nWorld"); // System.out.println("============================"); String sa = new String("Hello World"); String sb = new String("Hello World"); System.out.println(sa==sb); String sc = "Hello World"; String sd = "Hello World"; System.out.println(sc==sd); //对象 从内存 //布尔值扩展 boolean flag = true; if (flag==true){ } //新手 if (flag){ } //老手 //less is More! 代码要精简易读 } }
由于Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换。
低-------------------------------------------->高 byte,short,char-> int -> long -> float -> double
运算中,不同类型的数据先转化为同-类型,然后进行运算。
强制类型转换
自动类型转换
public class Demo05 { public static void main(String[] args) { int i = 128; //Byte byte b = (byte)i; //内存溢出 //强制转换 (类型)变量名 高--低 //强制转换 低--高 System.out.println(i); System.out.println(b); /*注意点 1. 不能对布尔值进行转换 2. 不能把对象转换成不相干的 3. 在把高容量转换到低容量的时候 强制转换 4. 转换的时候可能存在内存溢出,或者精度问题 */ System.out.println("====================================="); System.out.println((int)23.7); //23 内存溢出 System.out.println((int)-45.89f); //45 精度问题 System.out.println("====================================="); char c = 'a'; int d = c+1; System.out.println(d); System.out.println((char)d); } }
public class Demo06 { public static void main(String[] args) { //操作比较大的数的时候,注意溢出问题 //JDK7新特性,数字之间可以用下划线分隔 int money = 10_0000_0000; int years = 20; int total = money*years; // long total2 = money*years; //默认是int,转换之前已经存在问题了? //System.out.println(total); //System.out.println(total2); -1474836480 long total3 = money*((long)years); //先把一个数转换成long System.out.println(total3); } }
变量是什么:就是可以变化的量!
Java是一种强类型语言,每个变量都必须声明其类型。
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
type varName [=va1ue] [{, varName[=value]}] ; //数据类型 变量名=值;可以使用逗号隔开来声明多个同类型变量。
注意事项:
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
变量名必须是合法的标识符。
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
类变量
实例变量
局部变量
public class Variable{ static int allClicks=0; //类变量 String str="hello world"; // 实例变量 public void method(){ int i =0; // 局部变量 } }
常量(Constant): 初始化(initialize)后不能再改变值!不会变动的值。
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
final常量名=值; final double PI=3.14;
常量名一般使用大写字符。
所有变量、方法、类名: 见名知意
类成员变量:首字母小写和驼峰原则: monthSalary 除第一个单词外后面单词首字母大写
局部变量:首字母小写和驼峰原则
常量: 大写字母和下划线: MAX_ VALUE
类名: 首字母大写和驼峰原则: Man, GoodMan
方法名:首字母小写和驼峰原则: run(), runRun()
Java语言支持如下运算符:
算术运算符: + , - ,* , / , % , ++ , --
赋值运算符: =
关系运算符: > , < , >= ,<= , == , != instanceof
逻辑运算符: && , || , ! 与and 或 or 非
位运算符: &, | ,^ , ~ ,>,<< , >>> 了解!!! )
条件运算符: ? :
扩展赋值运算符 : += , -= ,*= , /=
优先级
()
为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。
包语句的语法格式为:
package pkg1[. pkg2[. kg...]];
一般利用公司域名倒置作为包名; com.kuangstudy.blog com.kuangstudy.www
为了能够使用某-个包的成员,我们需要在Java程序中明确导入该包。使用"import"语句可 完成此功能
import package1[.package..].(classname |*);
例如 :使用Date
import java.util.Date;
javadoc命令是用来生成自己API文档的
参数信息
@author 作者名
@version 版本号
@since 指明需要最早使用的jdk版本
@param参数名
@return返回值情况
@throws异常抛出情况
JDK帮助文档 Overview (Java Platform SE 8 ) (oracle.com)
DOS生成Javadoc javadoc -encoding UTF-8 -charset UTF-8 Doc. java