java中的一些小语法

原创 2017年03月05日 19:10:58

目录:

一 for循环

二 switch

三 try catch finally

四 &和&& |和||

五 floor cell round

六 数字与字符串相加

七 instanceof运算符

八运算符优先级

九位运算符

一:for循环

1.for(int i=0;i<10;i++){}循环的执行顺序:

int i=0;初始化这一步只执行一次;

i<10;进行条件判断;条件达成返回true 否则false不往下执行,跳出for循环圈

i++ ; 是最后执行的,当循环体内的代码执行完它才进行赋值。

2.跳出多重for循环:

①方式1:使用label标签

package dxc1;
public class Test123 {
	 public static void main(String[] args) {
		heidou:
		for(int i=0;i<5;i++){
			for(int j=0;j<5;j++){
				  System.out.println("i是"+i+"j是"+j);
				  if(i==2&&j==3){
					  break heidou;
				  }
			}
	  		}}
}
输出:

i是0j是0
i是0j是1
i是0j是2
i是0j是3
i是0j是4
i是1j是0
i是1j是1
i是1j是2
i是1j是3
i是1j是4
i是2j是0
i是2j是1
i是2j是2
i是2j是3
②方式2

在外面加个条件

 int arr[][] = { { 1, 2, 3 }, { 4, 5, 6, 7 }, { 9 } };
        boolean found = false;

        for (int i = 0; i < arr.length && !found; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                System.out.println("i=" + i + ",j=" + j);
                if (arr[i][j] == 5) {
                    found = true;
                    break;
                }
            }
        }

二、switch

支持int,char,byte,short,枚举,String(JDK1.7以上)类型

package dxc1;
public class Test123 {
	public static void main(String[] args) { 
		int i=3; 
		switch(i) 
		{ 
		  
		   case 1: 
		       System.out.println(1); 
		       break; 
		   case 2: 
		       System.out.println(2); 
		       break; 
		   case 3: 
		       System.out.println(3); 
		       break;  //屏蔽点
		   default: 
		       System.out.println("default"); 
	    	} 
}}
当屏蔽点未屏蔽时,输出:
3
否则输出:

3
default
看俩特殊情况:

package dxc1;
public class Test123 {
	public static void main(String[] args) { 
		int i=3; 
		switch(i) 
		{ 
		   case 1: 
		       System.out.println(1); 
		       break; 
		   case 3: 
		       System.out.println(3); 
		   default: 
		       System.out.println("default");
		   case 2: 
		       System.out.println(2); 
		       break; 
	    	} 
}}
输出:
3
default
2
package dxc1;
public class Test123 {
	public static void main(String[] args) { 
		int i=3; 
		switch(i) 
		{ 
		   case 1: 
		       System.out.println(1); 
		       break; 
		   default: 
		       System.out.println("default");
		   case 3: 
		       System.out.println(3); 
		   
		   case 2: 
		       System.out.println(2); 
		       break; 
	    	} 
}}
输出:
3
2
三、try catch finally

①除非有System.exit(int status)否则都会执行,

这里补充个知识点:

system.exit(0):正常退出,程序正常执行结束退出
system.exit(1):是非正常退出,就是说无论程序正在执行与否,都退出,

②finally{}代码块比return先执行。
③多个return是按顺序执行的的,多个return执行了一个后,后面的return就不会执行了。
④记住一点,不管有不有异常抛出, finally都会在return返回前执行。

看个例子:

package dxc1;
public class Test123 {
	public static void main(String[] args) {
      try{
    	  int i = 100/ 0;
          System.out.print(i);
        }catch(Exception e){
        	System.out.print(1);
            throw new RuntimeException();
    	  }finally{
           System.out.print("我是异常");
	       }
         System.out.print("小尾巴");
  }
}


输出:

我是异常我是finallyException in thread "main" java.lang.RuntimeExceptionat dxc1.Test123.main(Test123.java:9)

说明catch和finally执行了

还有个很重要的例子:

public class Testfinal { 
public static void main(String[] args) { 
System.out.println(heidou(5)); 
} 

private static int heidou(int i) { 
int a =5; 
try { 
return a; 
} 
finally{ 
a++; 
System.out.println("finally"+a); 
} 
} 
输出:

输出:                 
finally6
5
虽然 finally改变了a的值,但是输出依旧是没改变前的。
四、&和&& |和||

按位与:a&b是把a和b都转换成二进制数然后再进行与的运算;(都会运行)
逻辑与:a&&b就是当且仅当两个操作数均为 true时,其结果才为 true;只要有一个为false后面就不执行了
例如:
a&b 9&8
1001
1000
结果是1000
a&&b 9&&8 结果是1
同理 | 和||也是一个意思

五、floor cell round

floor: 求小于参数的最大整数。返回double类型-----n. 地板,地面
例如:Math.floor(-4.2) = -5.0
-----------------------------------------------------------
ceil: 求大于参数的最小整数。返回double类型-----vt. 装天花板;
例如:Math.ceil(5.6) = 6.0
-----------------------------------------------------------
round: 对小数进行四舍五入后的结果。返回int类型
例如:Math.round(-4.6) = -5

六、数字与字符串相加

System.out.println(1+"10"+3+"2");//11032

System.out.println(1+2+"10"+3+"2");//31032

System.out.println(1+"10"+3+1+"2");//110312

七、instanceof运算符

package dxc1;

interface A{
    
}

class B implements A{
      
}

class C extends B{
      
}
public class testinstance {
 
    public static void main(String[] args) {
        A ab=new B();
        A ac=new C();
        B bc=new C();
        B bb=new B();
        C cc=new C();
        //对象实现一个接口,用这个对象和这个接口进行instanceof判断,都为true。
        System.out.println("ab instanceof A="+(ab instanceof A));
        System.out.println("ac instanceof A="+(ac instanceof A));
        System.out.println("bc instanceof A="+(bc instanceof A));
        System.out.println("bb instanceof A="+(bb instanceof A));
        System.out.println("cc instanceof A="+(cc instanceof A));
        //对象和父类进行instanceof判断,都为true
        System.out.println("ab instanceof B="+(ab instanceof B));
        System.out.println("ac instanceof B="+(ac instanceof B));
        System.out.println("bc instanceof B="+(bc instanceof B));
        System.out.println("bb instanceof B="+(bb instanceof B));
        System.out.println("cc instanceof B="+(cc instanceof B));
        //对象和他的子类进行instanceof判断为false
        System.out.println("ab instanceof C="+(ab instanceof C));
        System.out.println("ac instanceof C="+(ac instanceof C));
        System.out.println("bc instanceof C="+(bc instanceof C));
        System.out.println("bb instanceof C="+(bb instanceof C));
        System.out.println("cc instanceof C="+(cc instanceof C));
    }
}

ab instanceof A=true
ac instanceof A=true
bc instanceof A=true
bb instanceof A=true
cc instanceof A=true
ab instanceof B=true
ac instanceof B=true
bc instanceof B=true
bb instanceof B=true
cc instanceof B=true
ab instanceof C=false
ac instanceof C=true
bc instanceof C=true
bb instanceof C=false
cc instanceof C=true

八、运算符优先级


九、位运算符

分为:“与”、“或”、“非”、“异或”
1.与运算符:&
两个操作数中位都为1,结果才为1,否则结果为0
2.或运算符:|
两个位只要有一个为1,那么结果就是1,否则就为0
3.非运算符:~
如果位为0,结果是1,如果位为1,结果是0
4.异或:^
两个操作数的位中,相同则结果为0,不同则结果为1

版权声明:本文为博主原创文章,未经博主允许不得转载。

一些小的语法知识3

You have a sequence of items, and you’d like to determine the most frequently occurring items in the...
  • ircszwfcbvdgk234
  • ircszwfcbvdgk234
  • 2018年01月12日 23:19
  • 15

一些小的语法笔记2

import heapq heapq.nlargest(n,nums),nums可迭代,该函数返回前n个最大数 heapq.nsmallest(n,nums),nums可迭代,该函数返回最小的n个数 ...
  • ircszwfcbvdgk234
  • ircszwfcbvdgk234
  • 2018年01月12日 15:57
  • 13

java基础语法(本人学习java的笔记)

基本语法部分 为选定的行改为注释: shift+方向键  选定数行内容 ctrl+/      想解绑哪一行的话,同样使用ctrl+/    常...
  • lxxlxx888
  • lxxlxx888
  • 2016年05月26日 15:35
  • 3623

java 基础语法自己总结

Java数据类型:     基本数据类型  数值型 整数类型 byte short int long                   浮点类型 float  double  字符类型 ...
  • javald
  • javald
  • 2015年07月30日 00:25
  • 897

利用java实现语法分析器

package GrammarAnalsys;   import java.awt.*; import java.awt.event.*; import javax.swing.*; i...
  • u012241778
  • u012241778
  • 2013年12月23日 15:25
  • 4548

微信小程序应用都有哪些

【主要内容:】 1. 如何搜索微信小程序 2.目前发布的小程序都有哪些 一、 如何搜索微信小程序 小程序搜索目前好像还不支持模糊搜索,但是有些非常知名的除外,比如:滴滴、京东。...
  • CrazyZhang1990
  • CrazyZhang1990
  • 2017年01月09日 15:26
  • 1383

深入理解java虚拟机(十二) Java 语法糖背后的真相

语法糖(Syntactic Sugar),也叫糖衣语法,是英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语。指的是,在计算机语言中添加某种语法,这种语法能使程序员更方便...
  • zq602316498
  • zq602316498
  • 2014年09月05日 23:40
  • 2209

谈谈Java中的语法糖

语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言本身功能来说没有什么影响,只是为了方便程序员的开发,提高开发效率。说白了,语法糖就是对现有语法的一...
  • danchu
  • danchu
  • 2017年02月11日 20:43
  • 5146

Java语法糖之foreach

语法糖是一种几乎每种语言或多或少都提供过的一些方便程序员开发代码的语法,它只是编译器实现的一些小把戏罢了,编译期间以特定的字节码或者特定的方式对这些语法做一些处理,开发者就可以直接方便地使用了。这些语...
  • u013256816
  • u013256816
  • 2016年02月25日 11:39
  • 3764

java基本语法自学 练习题1

1.java的优势  java有纯面向对象,继承,封装,多态,跨平台,自动垃圾回收等,并且能够让程序的难度得到有效的控制。 2.什么事环境变量? 环境变量就是操作系统中应用程序获得一些运行参数的...
  • u010461609
  • u010461609
  • 2013年06月08日 08:28
  • 884
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java中的一些小语法
举报原因:
原因补充:

(最多只允许输入30个字)