java查重用什么语法 java编译期间的语法检查
很多朋友对于java查重用什么语法和java编译期间的语法检查不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
java中try和if的区别
if else是流程控制语句,try catch是异常处理语句。
1,if用来判断表达式返回的是true还是false,例如
if(a==b){
System.out.println("yes");
}else{
System.out.println("no");
}
不能使用try catch判断。
2,try catch是用来捕获异常的,这里的异常是指在程序运行时可能出现的异常,捕获异常后try里的代码将不再执行,而是转到catch里面执行。如果没有异常,则执行try里的代码,catch里面不用执行。例如
Stringa="12211a";
try{
intb=Integer.parseInt(a);//将字符串转为数字,a里面有字母,转换失败,将会抛出异常。
System.out.println("isanumber:"+b);
}catch(Exceptione){
System.out.println("notanumber");
}
java编译期间的语法检查
使用javac编译时加上-verbose选项。就会发现会载入第三方jar文件
D:\Temp>javac-verbose-cpJ:\library\xpp3\xpp3-1.1.4c.jarXPPExample.java
[解析开始时间RegularFileObject[XPPExample.java]]
[解析已完成,用时47毫秒]
[源文件的搜索路径:J:\library\xpp3\xpp3-1.1.4c.jar]
[类文件的搜索路径:D:\Java\JavaSDK\jre\lib\resources.jar,D:\Java\JavaSDK\jre\lib\rt.jar,D:\Java\JavaSDK\jre\lib\sunrsasign.jar,D:\Java\JavaS
DK\jre\lib\jsse.jar,D:\Java\JavaSDK\jre\lib\jce.jar,D:\Java\JavaSDK\jre\lib\charsets.jar,D:\Java\JavaSDK\jre\lib\jfr.jar,D:\Java\JavaSDK\jre
\classes,D:\Java\JavaSDK\jre\lib\ext\access-bridge.jar,D:\Java\JavaSDK\jre\lib\ext\dnsns.jar,D:\Java\JavaSDK\jre\lib\ext\jaccess.jar,D:\Java
\JavaSDK\jre\lib\ext\localedata.jar,D:\Java\JavaSDK\jre\lib\ext\sunec.jar,D:\Java\JavaSDK\jre\lib\ext\sunjce_provider.jar,D:\Java\JavaSDK\jr
e\lib\ext\sunmscapi.jar,D:\Java\JavaSDK\jre\lib\ext\sunpkcs11.jar,D:\Java\JavaSDK\jre\lib\ext\zipfs.jar,J:\library\xpp3\xpp3-1.1.4c.jar]
[正在加载ZipFileIndexFileObject[J:\library\xpp3\xpp3-1.1.4c.jar(org/xmlpull/v1/XmlPullParser.class)]]
[正在加载ZipFileIndexFileObject[J:\library\xpp3\xpp3-1.1.4c.jar(org/xmlpull/v1/XmlPullParserException.class)]]
[正在加载ZipFileIndexFileObject[J:\library\xpp3\xpp3-1.1.4c.jar(org/xmlpull/v1/XmlPullParserFactory.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/lang/Object.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/lang/String.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/lang/Exception.class)]]
[正在检查XPPExample]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/lang/AutoCloseable.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/lang/Throwable.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/io/FileReader.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/io/FileDescriptor.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/io/File.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/io/InputStreamReader.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/lang/System.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/io/PrintStream.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/io/FilterOutputStream.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/io/OutputStream.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/lang/Error.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/lang/RuntimeException.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/io/FileNotFoundException.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/io/IOException.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/lang/StringBuilder.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/lang/CharSequence.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/io/Serializable.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/lang/Comparable.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/lang/AbstractStringBuilder.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/lang/StringBuffer.class)]]
[正在加载ZipFileIndexFileObject[D:\Java\JavaSDK\lib\ct.sym(META-INF/sym/rt.jar/java/io/Reader.class)]]
[已写入RegularFileObject[XPPExample.class]]
[共2328毫秒]
Java的基本语法是什么
Java的基本语法如下:
大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。
类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如MyFirstJavaClass。
方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写,例如myFirstJavaMethod。
源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。
主方法入口:所有的Java程序由public static void main(String[] args)方法开始执行。
JAVA有哪些实用的基本语法
.表达式语句
int k, i=3, j=4;�
k=i+j;�
System.out.println(〃k=〃+k);
2.复合语句
class Block{�
public static void main(String args〔〕){�
int k, i=3, j=4;�
k=i+j;�
System.out.println(〃k=〃+k);�
{�
float f;�
f=j+4.5F;�
i++;�
System.out.println(〃f=〃+f);�
}�
System.out.println(〃i=〃+i);�
}�
}
选择语句
利用选择语句结构可以根据条件控制程序流程,改变程序执行的顺序。
if语句
if语句的语法格式为:
if(条件表达式)�
s1语句;
这是最简单的单分支结构。条件表达式的值为true,就执行s1语句,否则就忽略s1语句。s1语句可以是复合语句。
if…else语句
if语句通常与else语句配套使用,形成二分支结构。它的语法格式为:
if(条件表达式)�
s1语句;�
else�
s2语句;
当条件表达式的值为true,就执行s1语句,忽略else和s2语句;条件表达式的值为false,程序忽略s1语句,执行else后面的s2语句。s1和s2都可以是复合语句。
if…else复合结构
对于复杂的情况,可以嵌套使用if…else语句。它的语法格式为:
if(条件表达式1)�
s1语句;�
else if(条件表达式2)�
s2语句;�
else�
s3语句;
在这里依次计算条件表达式,如果某个条件表达式的值为true,就执行它后面的语句,其余部分被忽略;所有表达式的值都为false,就执行最后一个else后的s3语句。s1、s2和s3都可以是复合语句。
switch开关语句
虽然嵌套的条件语句可实现多个分支处理,但嵌套太多时容易出错和混乱,这时可以使用开关语句switch处理。实际上开关语句switch也是一种if…else结构,不过它使你在编程时很容易写出判断条件,特别是有很多条件选项的时候。
开关语句switch的语法格式:
switch(表达式){�
case常量1:�
语句1;�
break;
case常量2:�
语句2;�
break;�
......�
default:�
语句n;�
}
其中switch、case、default是关键字,default子句可以省略。开关语句先计算表达式,然后将表达式值与各个常量比较,如果表达式值与某个常量相等,就执行该常量后面的语句;如果都不相等,就执行default下面的语句。如果无default子句,就什么都不执行,直接跳出开关语句。
使用开关语句时,注意以下几点:
? case后面的常量必须是整数或字符型,而且不能有相同的值;
?通常在每一个case中都应使用break语句提供一个出口,使流程跳出开关语句。否则,在第一个满足条件case后面的所有语句都会被执行,这种情况叫做落空。
循环语句
循环可使程序根据一定的条件重复执行某一部分程序代码,直到满足终止循环条件为止。
Java中提供的循环语句有:确定次数循环(for)、条件循环(while)、先执行后判定循环(do)。
for循环语句
如果希望程序的一部分内容按固定的次数重复执行,通常可以使用for循环。for循环采用一个计数器控制循环次数,每循环一次计数器就计数,直到完成给定的循环次数为止。
for循环的语法格式为:
for(表达式1;表达式2;表达式3)�
循环体
其中表达式1可以给出计数器的初值,是一个赋值语句;表达式2指出循环结束条件,是一个逻辑表达式;表达式3指出计数器每次的增量,是一个赋值语句。
注意:计数器可在for语句之前定义,也可在循环括号中定义。计数器增量为1时常写成增量运算的形式,以加快运算速度。根据需要,增量可以大于或小于1。增量计算也可以放在循环体中进行,即把表达式3移到循环体内的适当位置,原位置为空。
使用循环语句时常常会遇到死循环的情况,也就是无限制地循环下去。所以在使用for循环时,要注意初值、终值和增量的搭配。终值大于初值时,增量应为正值,终值小于初值时,增量应为负值。编程时必须密切关注计数器的改变,这是实现正常循环避免陷入死循环的关键。
while循环语句
while循环不像for循环那么复杂,while循环只需要一个条件判断语句,便可以进行循环操作。
while循环的语法格式为:
while(条件表达式)�
循环体
其中while是关键字。每次循环之前都要计算条件表达式,其值为true时,就执行一次循环体中的语句,然后再计算条件表达式,决定是否再次执行循环体中的语句;如果条件表达式的值为false时,就跳出循环体,执行循环体下面的语句。
注意: while循环中的条件表达式是逻辑表达式,所以循环体中一定要有改变条件表达式值的语句,使条件表达式的值有机会变为false,否则会陷入死循环。
do…while循环语句
do…while循环与while循环相反,是先执行循环体中的语句,再计算while后面的条件表达式,若条件表达式值为false则跳出循环;否则继续下一轮循环。
有些情况下,不管条件表达式的值是为true还是false,都希望把指定的语句至少执行一次,那么就应使用do…while循环。
do…while循环的语法格式为:
do{�
循环体�
} while(条件表达式);
其中do、while是关键字。程序首先执行do下面的循环体,然后计算while后面条件表达式的值,如果其值为true,则重复执行循环体;否则,就结束循环。
与while循环相同,do循环在循环体中也一定要有改变条件表达式值为false的语句,否则会陷入死循环。do…while循环控制并不是很常用,但有时却非常重要,使用时特别注意不要忘记了while语句结尾处的分号“;”。
循环语句嵌套
ex:做个例子是累计求和的。
�
public class Sum1{�
public static void main(String args〔〕){�
int n=10, sum=0;�
while(n>0){�
sum=0;�
for(int i=1; i<=n; i++)�
sum+=i;�
System.out.println(〃前〃+n+〃个数的总和为:〃+sum);�
n--;�
}�
}�
}
循环语句小结
一个循环一般应包括4部分内容。
(1)初始化部分:用来设置循环的一些初始条件,计数器清零等。
(2)循环体部分:这是反复被执行的一段代码,可以是单语句,也可以是复合语句。
(3)迭代部分:这是在当前循环结束,下一次循环开始时执行的语句,常用来使计数器加1或减1。
(4)终止部分:通常是一个布尔表达式,每一次循环要对该表达式求值,以验证是否满足循环终止条件。
跳转语句
跳转语句可以无条件改变程序的执行顺序。Java支持3种跳转语句: break、continue和return。
break语句
break语句提供了一种方便的跳出循环的方法。使用break语句可以立即终止循环,跳出循环体,即使循环没有结束也如此。
break语句的使用示例,输出结果如图3.10所示。
class B{�
public static void main(String args〔〕){�
boolean test=true;�
int i=0;�
while(test){�
i=i+2;�
System.out.println(〃i=〃+i);�
if(i>=10)�
break;�
}�
System.out.println(〃 i为〃+i+〃时循环结束〃);�
}�
}
带标号的break语句
标号是标记程序位置的标识符。break语句只能跳转到循环语句下面的第一条语句上,而带标号的break语句可直接跳转到标号处。正常的break只退出一重循环,如果要退出多重循环,可以使用带标号的break语句。它的语法格式为:
标识符:�
…�
break标识符;
做个例子说明
运行该工程,正常情况下可从键盘接受16个输入字符,但当输入b按回车时,break lab1语句就会结束二重循环。
class B1{�
public static void main(String args〔〕) throws java.io.IOException{�
char ch;��
lab1://此处为标号标识符�
for(int i=0; i<4; i++)�
for(int j=0; j<4; j++){�
ch=(char)System.in.read();�
System.in.skip(2);�
if(ch==′b′)�
break lab1;//跳到标号标识符处�
if(ch==′c′)�
System.out.println(〃继续〃);
}�
System.out.println(〃结束两重循环〃);�
}�
}
continue语句
continue语句只能用在循环结构中,它跳过循环体中尚未执行的语句,重新开始下一轮循环,从循环体第一个语句开始执行。
下面的可以输出1~9中除6以外所有偶数的平方值
class C2{�
public static void main(String args〔〕){�
for(int i=2;i<=9;i+=2){�
if(i==6)�
continue;�
System.out.println(i+〃的平方=〃+i*i);}�
}�
}
带标号的continue语句
Java也支持带标号的continue语句,它通常用在嵌套循环的内循环中,可以用标号标出想跳到哪一条语句继续重复执行程序。其语法格式为:
标识符:�
…�
continue标识符;
带标号的continue语句的使用
class C3{�
public static void main(String args〔〕){�
lab1:�
for(int i=1; i<=3; i++)�
for(int j=1; j<=3; j++){�
System.out.println(〃i:〃+i+〃 j:〃+j);�
if(i+j>3){�
System.out.println(〃Continue〃);�
continue lab1;�
}�
System.out.println(〃i=〃+i+〃 j=〃+j);�
}�
}�
}
求100~200间的所有素数。用嵌套的for循环做
public class Find{�
public static void main(String args〔〕){�
System.out.println(〃** 100~200间的所有素数**〃);�
int n=0;��
outer:�
for(int i=101; i<200; i+=2){�
int k=15;�
for(int j=2; j<=k; j++)�
if(i%j==0)�
continue outer;�
System.out.print(〃〃+i);�
n++;�
if(n<10)�
continue;
System.out.println();�
n=0;�
}�
System.out.println();�
}�
}
return语句
return语句用于方法的返回上,当程序执行到return语句时,终止当前方法的执行,返回到调用这个方法的语句。return语句通常位于一个方法体的最后一行,有带参数和不带参数两种形式,带参数形式的return语句退出该方法并返回一个值。
当方法用void声明时,说明不需要返回值(即返回类型为空),应使用不带参数return语句。不带参数的return语句也可以省略,当程序执行到这个方法的最后一条语句时,遇到方法的结束标志}就自动返回到调用这个方法的程序中。
带参数的return语句格式为:
return表达式;
当程序执行到这个语句时,首先计算“表达式”的值,然后将表达式的值返回到调用该方法的语句。返回值的数据类型必须与方法声明中的返回值类型一致,可以使用强制类型转换来使类型一致。
带参数的return语句的使用
class CircleArea{�
final static double PI=3.14159;�
public static void main(String args〔〕){�
double r1=8.0, r2=5.0;�
System.out.println(〃半径为〃+r1+〃的圆面积=〃+area(r1));�
System.out.println(〃半径为〃+r2+〃的圆面积=〃+area(r2));�
}�
static double area(double r){�
return(PI*r*r);�
}�
}
关于本次java查重用什么语法和java编译期间的语法检查的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。