马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
Java基础
注释
- 平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释
- 注释并不会被执行,是给我们写代码的人看的
- 书写注释是一个非常好的习惯
- 平时写代码一定要注意规范
Java注释有三种
- 单行注释:样式修改 File -> settings -> Editor -> Java -> Comments ->Line comment
- /**
- 这是文档注释
- @Description Hello World
- @Author 李光宇
- */
复制代码 标识符
- Java所有的组成部分都需要名字。类名,变量名以及方法名都被称为标识符
标识符注意点
- 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线 (_)开始
- 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线 (_)或数字的任何字符组合
- 不能使用关键字作为变量名或方法名
- 标识符是大小写敏感的
- 合法标识符举例:age,$salary、_value、__1_value
- 非法标识符举例:123abc、-salary、#abc
- 可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很low
关键字
abstractassertbooleanbreakbytecase**catch **charclassconst**continue **defaultdodoubleeles**enum **extendsfinalfinallyfloatforgoto**if **implementsimport**instanceof **intinterfacelongnativenewpackageprivateprotectedpublicreturnstrictfpshortstaticsuperswitch**synchronized **thisthrowthrowstransienttryvoid**volatile **while数据类型(两大类)
- 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
基本类型(primitive type)
字节
- 位(bit): 是计算机内部数据存储的最小单位,11001100是一个八位二进制数
- 字节(byte): 是计算机中数据处理的基本单位,习惯上用大写B来表示
- 1B(byte,字节) = 8bit(位)
- 字符:是指计算机中使用的字母、数字、字和符号
- 1bit 表示1位
- 1Byte表示一个字节 1B=8b
- 1024B=1KB
- 1024KB=1M
- 1024M=1G
数值类型
整数类型
JDK7新特性;数字之间可以用下划线分割- int money = 10_0000_0000;
- System.out.println(money); // 1000000000;
复制代码
- byte 1字节 -128~127
- short 2字节 -32768~32767
- int 4字节 -2147483648~2147483647
- long 8字节 -9223372036854775808~9223372036854775807
浮点类型
字符类型
布尔类型
引用类型 (reference type)
拓展
整数拓展
浮点数拓展
- 不要用浮点数比较 有限 离散 舍入误差 大约 接近但不等于
- //案例一
- float f = 0.1f; //f:0.1
- double d = 1.0/10;//d:0.1
- System.out.println(f==d);//false
- //案例二
- float f1 = 2313131313131313f;
- float f2 = f1 + 1;
- System.out.println(d1==d2); //true
复制代码 字符拓展
- char c1= 'a';
- char c2='中';
- System.out.println(c1); //a
- System.out.println((int)c1); //97
- System.out.println(c2); //中
- System.out.println(int(c2)); //20013
复制代码- char c3= '\u0061'; \u是转意字符 \t制表符 \n换行 ....
- System.out.println(c3)//a
复制代码- String sa = new String("helloworld");
- String sb = new String("helloworld");
- System.out.println(sa==sb); // false
- String sc = "helloworld";
- String sd = "helloworld";
- System.out.println(sc==sd); //true
复制代码 布尔拓展
- 功能相同,代码要精简易读(Less Is More)
- boolean flag = true;
- if(flag){} //老手
- if(flag==true){} //新手
复制代码 类型转换
- 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
- // 低 ----------------------------> 高
- byte,short,char -> int -> long ->float ->double
复制代码
- 运算中,不同类型的数据先转化为同一类型,然后进行计算
强制类型转换 (类型)变量名
高到低需要强制转换
- int i = 128;
- byte b= (byte)i;
- System.out.println(i); //128
- System.out.println(b); //-128
- int money = 10_0000_0000;
- int years = 20;
- int total = money * years;
- System.out.println(total); //-1474836480;
- long total2 = money * years; //-1474836480;默认是int,转换之前问题已经存在
- long total3 = money * (long)years;
- System.out.println(total3);//20000000000
复制代码- System.out.println((int)23.7); //23
- System.out.println((int)-45.89f); //-45
复制代码 自动类型转换
低到高不需要手动转换- byte i = 127;
- int b= i;
- System.out.println(i); //128
- System.out.println(b); //128
- char c = 'a';
- int d = c + 1;
- System.out.println(d); //98
- System.out.println((char)d); //b
复制代码 注意点
- 不能对布尔类型转换
- 不能把对象类型转换为不相关的类型
变量
- 变量是可以变化的量
- Java是一种强类型语言,每个变量都必须声明其类型
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
- type varName [=value] [{,varName[=value]}];
- // 数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类型变量
复制代码 变量作用域
- public class Variable{
-
- static int allClicks = 0; //类变量 ,static
-
- String str = "hello world";//实例变量,从属于对象,不初始化就是默认值, boolean 默认 false;除了基本类型,其余的默认值都是null;
-
- public void method(){
- int i = 0; //局部变量,方法里,必须声明和初始化值
- }
- }
复制代码 注意事项
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
常量
- 常量(Constant): 初始化(initialize)后不能再改变值,不会变动值
- 常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
- final 常量名 = 值;
- static final 常量名 = 值;
- final static 常量名 = 值;//修饰符不存在先后顺序
- final double PI = 3.14;
复制代码 命名规范
- 所有变量、方法、类名;见明知意
- 类成员变量;首字母小写和驼峰原则;monthSalary 除了第一个单词以外,后面的单词首字母大写 lastName
- 常量:大写字母和下划线;MAX_VALUE
- 类名:首字母大写和驼峰原则;Man,GoodMan;
- 方法名:首字母小写和驼峰原则;run(),runRun()
运算符
Java语言支持如下运算符:
算术运算符
赋值运算符
关系运算符
条件运算符
扩展赋值运算符
运算
- 整数除以整数,运算结果有小数会舍弃,需转为(cast)浮点型
- int a=10;
- int b=20;
- System.out.println(a/b);//0
- System.out.println(a/(double)b);//0.5
- System.out.println(a%b);//1 取余,模运算
复制代码
- 与long 运算的转为long,其余的整数类型运算会转(cast)为int类型,若是有double则转为double类型
- long a=121232131212L;
- int b = 123;
- short c= 10;
- byte d = 8;
- System.out.println(a+b+c+d);//long
- System.out.println(b+c+d);//int
- System.out.println(c+d);//int
复制代码- int a = 10;
- int b = 20;
- System.out.println(a>b);//false
- System.out.println(a<b);//true
- System.out.println(a!=b);//true
复制代码 比较运算符优先级高于逻辑运算符,除了赋值运算符,其余都是左结合运算
包机制
- 本质就是文件夹
- 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间
- 包的语法格式为
- int a= 3;
- int b= a++; //执行完这行代码后,先给b赋值,在自增
- System.out.println(a);//4
- int c=++a; ////执行完这行代码前,先自增,在给c赋值
- System.out.println(a);//5
- System.out.println(b);//3
- System.out.println(c);//5
复制代码
- 一般用公司域名倒置作为包名 www.baidu.com ---> com.baidu.www
- 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包,使用'import'语句即可
- //幂运算
- double pow=Math.pow(3,2);
- System.out.println(pow);//9
复制代码 JavaDoc
- javaDoc命令是用来生成自己 API 文档的
- 参数信息
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况
- 命令: javadoc -encoding utf-8 charset utf-8 路径\文件.java
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |