概述
注释
-
平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了
-
注释并不会被执行,是给我们写代码的人看的
-
书写注释是一个非常好的习惯
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基础语法注释所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复