java--基础语法的一些细节问题
来源:互联网 发布:java项目实战视频教程 编辑:程序博客网 时间:2024/05/06 11:03
java--基础语法的一些细节问题:
——————————————
if else 结构 简写格式: 变量 = (条件表达式)?表达式1:表达式2;
三元运算符:好处:可以简化if else代码。
弊端:因为是一个运算符,所以运算完必须要有一个结果。
y>3?y=1:y=2;
——————————————
异或;就是和|有点不一样。当true ^ true = false;
true ^ true = false;
true ^ false = true;
false ^ true = true;
false ^ false = false;
: 两边相同结果是false。
两边不同结果是true。
——————————————
&和&&的特点:
&:无论左边是true是false。右边都运算。
&&:当左边为false时,右边不运算。
|:两边都参与运算。
||:当左边为true。右边不运算。
——————————————
转义字符:通过\ 来转变后面字母或者符号的含义。
\n:换行。
\b:退格。相当于backspace。
\r:按下回车键。window系统,回车符是由两个字符来表示\r\n.
\t:制表符。相当于tab键。
\\:\
\0:空字符
\u0022:Unicode转义字符
public class Test {public static void main(String[] args){ // \u0022 是双引号的Unicode转义字符 System.out.println("a\u0022.length() +\u0022b".length()); System.out.println("a\u0022.length() +\u0022b"); //程序打印的是表达式"a".length()+"b".length(),即2。//\u0024是$的转义字符System.out.println("a\u0024.length() +\u0024b".length()); System.out.println("a\u0024.length() +\u0024b"); } }——————————————
System.out.println("5+5="+(5+5));
结果是:5+5=10
System.out.println("5+5="+5+5);
结果是:5+5=55
——————————————
重载
什么时候用重载?
当定义的功能相同,但参与运算的未知内容不同。
那么,这时就定义一个函数名称以表示起功能,方便阅读,而通过参数列表的不同来区分多个同名函数。
下面那些与所给语句重载了
void show(int a,char b,double c){}
a.void show(int x,char y,double z){}//没有,因为和原函数一样。
b.int show(int a,double c,char b){}//重载,因为参数类型不同。注意:重载和返回值类型没关系。
c.void show(int a,double c,char b){}//重载,因为参数类型不同。注意:重载和返回值类型没关系。
d.boolean show(int c,char b){}//重载了,因为参数个数不同。
e.void show(double c){}//重载了,因为参数个数不同。
f.double show(int x,char y,double z){}//没有,这个函数不可以和给定函数同时存在与一个类中。
——————————————
在Java中定义一个数组的方法有:
1维数组:
int[] arr = {1,2,3,4,5,6,7,8};//定元素的时候用
char[] chs = {'0','1','2','3','4','5','F'};
int[] arr = new int[3];//不定元素,定元素个数的时候用
int arr[] = new int[3];
2维数组
int[][] arr={{100,200,300,400},{500,600,700,800},{900,1000,1100,1200,1300}};
int[][] num=new int[][]{{10,20,30},{40,50},{60}};
int[][] arr = new int[3][4];
int[][] y; int y[][]; int[] y[];//都可以
int[][] arr = new int[3][];//也可以分开定义
arr[0] = new int[3];
arr[1] = new int[1];
arr[2] = new int[2];
——————————————
在java中,想要跳出多重循环,break有两种常用的:
1. 在外循环前面做一个标记,然后在内部循环中使用break语句,即可跳出外层循环,例如:
class Test{public static void main(String[] args) throws Exception//将异常抛出{System.out.println("begin:");flag:for(int i=1;i<4;i++)for(int j=1;j<3;j++){System.out.println("i="+i+"j="+j);if(i==2&&j==1)break flag;}System.out.println("end");}}结果:
begin:
i=1j=1
i=1j=2
i=2j=1
end
还有一种:
是让外层循环循环条件表达式结果收到内层循环体代码的控制,例如:
class Test{public static void main(String[] args) throws Exception//将异常抛出{System.out.println("begin:");boolean flag=true;for(int i=1;i<4&&flag;i++)for(int j=1;j<3;j++){System.out.println("i="+i+"j="+j);if(i==2&&j==1)flag=false;}System.out.println("end");}}结果是:
begin:
i=1j=1
i=1j=2
i=2j=1
i=2j=2
end
——————————————
class Test {public static void main(String[] args) {String s1 = "abc";//s1是一个类类型变量, "abc"是一个对象。 //字符串最大特点:一旦被初始化就不可以被改变。String s2 = new String("abc");System.out.println(s1==s2);System.out.println(s1.equals(s2));//s1和s2有什么区别?//s1在内存中有一个对象。//s2在内存中有两个对象。String对象,"abc"对象。String s3="abc";System.out.println((s1==s3));}}结果是:
false
true
true
——————————————
instanceof 关键字的用法:
如:A instanceof B
判断A是否是B的实例,如果是返回true,如果不是,编译错误。
class Test {public static void main(String[] args) {Student a=new Student();if(a instanceof Object)System.out.println("a是Object的实例");if(a instanceof Person)System.out.println("a是Person的实例");if(a instanceof Student)System.out.println("a是Student的实例");if(a instanceof Postgraduate)System.out.println("a是Postgraduate的实例");//if(a instanceof Animal) 编译失败//System.out.println("a是Animal的实例");}}class Person{}class Student extends Person{}class Postgraduate extends Student{}class Animal{}结果是:
a是Object的实例
a是Person的实例
a是Student的实例
——————————————
- java--基础语法的一些细节问题
- 重温一下Java的一些语法细节
- Java语法上的一些细节
- java的一些细节问题!
- 面试遇到的一些基础细节问题
- java的一些基础语法
- java基础一些细节
- Java语法的细节
- 总结的java一些细节问题
- Java一些基础细节知识
- java的一些语法基础(一)
- java的一些语法基础(二)
- java的一些语法基础(三)
- Java的一些细节
- java的一些细节!
- Java基础中常犯的一些细节上的错误
- 一些java小细节问题
- 关于Java的一些基础细节(整理)
- Git服务器四种协议比较
- 【笔记】struts2学习笔记(二)--常见问题/一些配置/Myeclipse使用
- 支付平台PCI认证整改
- C中的结构,联合,枚举(持续总结中...)
- word中图片为矢量图
- java--基础语法的一些细节问题
- Unity 打包到Android系统下运行
- 数据与图像分析融合:专家利用分析软件监测濒危野生动物
- 以post打开新窗口的JQUERY实现
- 在google云平台上部署Java web工程(在google app engine上部署自己的应用)
- 设计模式(四)——观察者设计模式
- Java内存机制和是否会有内存泄漏什么情况下会泄漏
- mysql redo日志太小的问题
- 探讨蓝牙协议栈的原理和结构