java编程语句

Python012

java编程语句,第1张

public static void main(String[] args) {

        Scanner sc =new Scanner(System.in)

        int number = (int) (Math.random()*100)

        System.out.println(number)

        int tryTimes = 0//只允许输入5次

        int maxTimes = 5//允许最大猜的次数

        int inputTarget = -1

        long startTime = System.currentTimeMillis()//开始时间

        System.out.println("猜数, 请输入一个数字:")

        while(tryTimes<maxTimes && inputTarget!=number){

            inputTarget = sc.nextInt()

            

            if(inputTarget>number){

                System.out.println("数字大了,请再猜:")

            }else if(inputTarget<number){

                System.out.println("数字小了,请再猜:")

            }else{

                System.out.println("恭喜猜对了")

            }

            tryTimes++

        }

        long endTime = System.currentTimeMillis()//结束时间

        System.out.println("是否猜对数字了: "+(inputTarget==number))

        System.out.println("这个数字是:"+number)

        System.out.println("一共猜了了:"+tryTimes+" 次")

        System.out.println("工消耗:" + (endTime-startTime)/1000 + "秒")

    }

1、表达式语句

一些表达式除了计算表达式的值以外,还有“副作用”,这些表达式可以直接做语句(后面加分号)。

什么叫“副作用”?一个表达式有“副作用”,是指:在对该表达式计值时,会改变Java程序的状态,以致再次对该表达式计值时,可能会得出不同的结果。有“副作用”的表达式包括:赋值、自增、自减、方法调用、对象建立。

例如:

a = 1// Assignment

x *= 2// Assignment with operation

i++// Post-increment

--c// Pre-decrement

System.out.println("statement")// Method invocation

2、复合语句:用一对大括号括起来的一组语句(在Delphi里,是用begin/end对包含)

凡是可以出现语句的地方,都可以出现复合语句。

3、空语句:单个分号

4、带标号的语句:语句前面加上标识符(作为语句的标号)和冒号,break语句和continue语句可能会使用标号

例如:

rowLoop: for(int r = 0r <rows.lengthr++) { // A labeled loop

colLoop: for(int c = 0c <columns.lengthc++) { // Another one

break rowLoop// Use a label

}

}

5、局部变量声明语句 [final] type name [= value] [, name [= value]] ...

局部变量(简称变量),是存储值的位置的符号名,定义在方法中或复合语句中;所有变量在使用前必须先声明---这就是变量声明语句;

Java是强类型语言,变量声明规定了变量的类型,只有该类型的值可以存储在该变量中;

注:Pascal、C#是强类型语言,C、C++不是

1)最简单形式:只规定变量类型和变量名;比如

int counter

2)在变量声明中包含初始化,即:等号后面的表达式规定了变量的初始值;例如:

int i = 0

String s = readLine( )

int[] data = {x+1, x+2, x+3}// Array initializers

3)单个变量声明语句可以声明并且初始化多个变量,条件是这些变量必须有相同的类型;变量之间用逗号隔开。例如:

int i, j, k

float x = 1.0, y = 1.0

String question = "Really Quit?", response

4)Java1.1以后,变量声明语句可以用final关键字开头,表示:一旦变量的初始值被规定了,以后就不允许改变了

注:和C++的const相似

例如:

final String greeting = getLocalLanguageGreeting( )

5)局部变量声明可以出现在代码的任何地方,不一定非要在方法或代码块的开头;甚至可以出现在for循环的初始化部分;

6)局部变量只可以在定义它们的方法或代码块中使用,这称为该变量的作用域(scope)

6、if/else语句:if ( expr ) statement [ else statement]

1)条件表达式的值是boolean类型;在Java5.0中,这个值可以是boolean的包装类Boolean;

2)Delphi中,else之前的语句末尾不能加分号!

3)如果if语句里是另一个if语句,后面的else与哪个if搭配?

答案是:与最近的if搭配。

7、switch语句:switch ( expr ) { [ case expr : statements ] ... [ default: statements ] }

1)switch表达式可以是int、short、byte、char;

在Java5.0以后,也可以是这些类型对应的包装类;enum类型也是允许的;

2)其他和C/C++相同,不再赘述

8、while语句:while ( expr ) statement

9、do语句:do statement while ( expr )

10、for语句:for ( init test update ) statement

在for语句的init和update中,可以有用逗号分隔开的多个语句(这是Java中唯一可以用逗号分隔语句的地方!),这些语句顺序执行

11、for/in语句(见语句(二))

12、break语句:break [ label ]

1)简单的break:直接退出包含break的最内层的while、do、for、switch语句;

2)break后面带语句标号:立即退出被标记的块,这个块可以是任何类型的语句,不限于循环或switch。例如:

testfornull: if (data != null) { // If the array is defined,

for(int row = 0row <numrowsrow++) { // loop through one dimension,

for(int col = 0col <numcolscol++) { // then loop through the other.

if (data[row][col] = = null) // If the array is missing data,

break testfornull// treat the array as undefined.

}

}

} // Java interpreter goes here after executing break testfornull

13、continue语句:continue [ label ]

break语句是推出一个循环,而continue是退出循环的当前迭代,开始下一次迭代;

continue,无论后面有没有语句标号,都只能用于while、do、for循环中

当不使用语句标号时,continue使最内层的循环开始下一次迭代;当使用语句标号(该标号标记一个包含这个continue的循环语句),continue使得被标记的循环开始下一次迭代。例如:

while、do、for在处理continue时稍有不同:

* while循环,简单地返回到循环顶部,再次测试循环条件,如果条件满足,再次执行循环体; * do循环,跳到循环底部,在那儿测试循环条件,以决定是否进行下一次迭代;

* for循环,跳到循环顶部,在那儿先执行update(比如增量)表达式,然后评估循环条件,决定是否进行下一次迭代;

14、return语句:return [ expr ]

基本上就这些,希望可以帮到楼主

不创建一个新的交叉点,还处理由构造函数抛出的Intersection.ConstructorFailure异常,

1)你的意思是:不 new对象还想调用他的构造方法

2)可以根据内存地址去解决,判断是否是同一个内存地址如果不是说明替换了