注释
-
平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了
-
注释并不会被执行,是给我们写代码的人看的
-
书写注释是一个非常好的习惯
Java中的注释有3中
-
单行注释
-
多行注释
-
文档注释
public class HelloWorld {
public static void main(String[] args) {
//单行注释
//输出一个Hello,world!
System.out.println("Hello,World!");
/*多行注释
多行注释
多行注释*/
//JavaDoc:文档注释 /** */
}
}
/**
* @Description com.wei.base.HelloWorld
* @Author hehe*/
标识符和关键字
Java 语言目前定义了 51 个关键字,这些关键字不能作为变量名、类名和方法名来使用。以下对这些关键字进行了分类。
-
数据类型:boolean、int、long、short、byte、float、double、char、class、interface。
-
流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally。
-
修饰符:public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native。
-
动作:package、import、throw、throws、extends、implements、this、supper、instanceof、new。
-
保留字:true、false、null、goto、const。
数据类型
强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。
弱类型语言
要求变量的使用要符合规定。
Java的数据类型分为两大类
基本类型(primitive type)
数值类型
整数类型
-
byte占1个字节范围:-128-127
-
short占2个字节范围:-32768-32767
-
int占4个字节范围:-2147483648-2147483647
-
long占8个字节范围:-9223372036854775808-9223372036854775807
浮点类型
-
float占4个字节
-
double占8个字节
字符类型
char占2个字节
boolean类型
占1位其值只有true和false两个
引用类型(reference type)
-
类
-
接口
-
数组
public class Demo02 {
public static void main(String[] args) {
//八大基本数据类型
//整数
int num1=10;//最常用
byte num2=20;
short num3=30;
long num4=30L;//long类型要在数字后面加个L
//小数:浮点数
float num5=50.1F;//float类型要在数字后面加个F
double num6=3.14159;
//字符
char name = 'A';
String namea="赵伟";//字符串String不是关键字,是类
//布尔值:是非
boolean flag=true;
//boolean flag=false;
}
}
public class Demo03 {
public static void main(String[] args) {
//整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
int i2 = 010;
int i3 = 0x10;
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);//false
System.out.println(f);
System.out.println(d);
float d1 = 23231232132132132f;
float d2 = d1 + 1;
System.out.println(d1 == d2);//true
System.out.println("=============================================");
//=============================================
//字符拓展
//=============================================
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int) c1);//强制转换
System.out.println(c2);
System.out.println((int) c2);//强制转换
//所有的字符本质还是数字
//编码 Unicode 表:(97 = a 65 = A) 2字节 65536 Excel 2 16 = 65536
//U000O-UFFFF
char c3 = 'u0061';
System.out.println(c3);//at
//转义字符
// t 制表符
// n 换行
//...
//
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){}//老手
}
}
类型转换
由于java 是强类型语言,所以要进行有些运算的时候需要用到类型转换。
低-----------------------------------------------------高
byte,short,char->int->long->float->double
运算中,不同类型的数据先转换成同一类型,然后进行运算。
public class Demo05 {
public static void main(String[] args) {
//操作比较大的数的时候,注意溢出问题
//jdk7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total1 = money*years;//-1474836480,计算的时候溢出了
long total2 = money*years;//默认是int,转换之前已经存在问题了
long total3 = money*((long)years);
System.out.println(total1);
System.out.println(total2);
System.out.println(total3);
}
}
变量、常量、作用域
变量
变量就是可以变化的量
java是一种强类型语言,每个变量都必须声明其类型。
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
type varName [=value][{,varName[=value]}];
//数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量。
注意事项
-
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
-
变量名必须是合法的标识符。
-
变量声明是一条完整的语句,因此每个声明都必须以分号结束。
public class Demo06 {
public static void main(String[] args) {
//int a,b,c;
int a=1,b=2,c=3;
String name = "zhangsan";
char x = 'X';
double pi = 3.14;
}
}
变量作用域
类变量
实例变量
局部变量
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
-
逻辑运算符:&&,||,!
-
位运算符:&,|,^,~,>>,<<,>>>(了解)
-
条件运算符:?:
-
扩展运算符:+=,-=,*=,/=
包机制
为了更好的组织类,java提供了包机制,用于区别类名的命名空间
本质上就是文件夹
包语句的语法格式为
定义包
package pkg1[.pkg2[.pkg3...]];
一般利用公司域名倒置作为包名;www.baidu.com 变成 com.baidu.www
为了使用某一个包的成员,我们需要在java程序中明确导入该包。使用“import”语句可以完成此功能。
导入包
import package [.package2...].(classname|*);
.*是通配符 ,可以导入包下所有的类
JavaDoc
javadoc命令是用来生成自己API文档的
参数信息
-
@author作者名
-
@version 版本号
-
@since 指明需要最早使用的jdk版本
-
@param 参数名
-
@return 返回值情况
-
@throw 异常抛出情况
javadoc -encoding UTF-8 -charset UTF-8
面向百度编程!
基础部分的一切知识,后面几乎每天都会用
Scanner对象
之前学的里面没有实现程序和人的交互,但是java给我们提供了这样一个工具类,我们可以获取用户的输入。
java.util.Scanner 是java5的新特征,我们可以通过Scanner类来获取用户的输入
基本语法:
Scanner s = new Scanner(System.in);
通过Scanner类的next()和nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
next()
-
一定要读取到有效字符后才可以结束输入。
-
对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
-
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
-
next()不能得到带有空格的字符串。
nextLine()
-
以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
-
可以获得空白。
顺序结构
java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
顺序结构是最简单的算法结构。
语句与语句之间,框与框之间是按照从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
选择结构⭐
if 单选择结构
我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示。
语法
if (布尔表达式){ //如果布尔表达式为true 将执行语句 }
if 双选择结构
公司要收购一个软件,成功了,给人支付100万元,失败了,自己找人开发。这样的需求用一个if就搞不定了,我们需要有两个判断,需要一个双选择结构,所以就有了if-else结构。
语法
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
if 多选择结构
真实的情况可能还存在ABCD,存在区间多级判断。比如90-100就是A,80-90就是B...等等,我们需要一个多选择结构来处理这类问题。
语法
if(布尔表达式1){
//如果布尔表达式1的值为true执行代码
}else if(布尔表达式2){
//如果布尔表达式2的值为true执行代码
}else if(布尔表达式3){
//如果布尔表达式3的值为true执行代码
}else{
//如果以上布尔表达式的值都不为true执行代码
}
嵌套的if结构
使用嵌套的if…else语句是合法的。也就是说你可以在另一个if或者else if语句中使用if或者else if 语句。你可以像if语句一样嵌套else if…else。
if(布尔表达式1){
//如果布尔表达式1的值为true执行代码
if(布尔表达式2){
//如果布尔表达式2的值为true执行代码
}
}
switch多选择结构
多选择结构还有一个实现方式就是switch case语句。
switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch语句中的变量类型可以是:
-
byte,short,int或者char
-
String
-
case标签必须为字符串常量或者字面量。
switch(expression){ case value: //语句 break;//可选 case value: //语句 break;//可选 //你可以有任意数量的case语句 default://可选 //语句 }
循环结构
white循环
white循环是最基本的循环,它的结构为:
while(表达式){
//循环内容
}
只要布尔表达式为true,循环就会一直执行下去。
我们大多数情况下是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。
少部分情况需要循环一直执行,比如服务器的请求响应监听等。
循环条件一直为true就会造成无限循环(死循环),我们正常的业务编程中应该尽量避免死循环。会影响程序性能或者造成程序卡死崩溃!
do…white循环
-
对于white语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
-
do…white循环和while循环相似,不同的是,do…white循环至少会执行一次。
do{ //代码语句 }while(布尔表达式); -
while和do…white的区别
-
while先判断后执行,do…white是先执行后判断!
-
do…white总是保证循环体会被至少执行一次!这是它们的主要差别。
-
for循环⭐
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
for循环执行的次数在执行前就确定的。语法格式如下:
for(初始化;布尔表达式;更新){
//代码语句
}
关于for循环有以下几点说明:
-
最先执行初始化的步骤,可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
-
检测布尔表达式的值,如果为true,循环体被执行;如果为false,循环终止,开始执行循环体后面的语句。
-
执行一次循环后,更新循环控制变量(迭代因子控制循环体变量的增减)。
-
再次检测布尔表达式,循环执行上面的过程。
死循环代码
for(;;){
}
增强型for循环
先做个了解,之后数组再重点使用,主要用于数组或集合的增强型for循环
语法
for(声明语句:表达式){
//代码句子
}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
break & continue
-
break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)
-
continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
最后
以上就是害羞夕阳最近收集整理的关于Java基础语法注释的全部内容,更多相关Java基础语法注释内容请搜索靠谱客的其他文章。
发表评论 取消回复