java注释、数据类型、数组、流程控制符 4000
2017-09-11 23:14
211 查看
java中的注释:
* 描述:我的第一个java应用程序
* @authorliwang
*2017/9/11
*/
public
class Demo {
public
static void main(String[]args){
//向控制台输出一串字符
System.out.println("HelloWorld!");
/*使用javac命令编译成字节码(.class)文件
使用java命令解释执行为特定平台的机器码*/
}
}
java的数据类型:
八种基本类型
引用类型:(数组,类,接口)
java中默认的整数类型为int类型,如果要定义为long类型,则要在数值后加上l或者L
默认的浮点型也是双精度浮点,如果要定义为float类型,则要在数值后加上f或者F
int a=12;
byteb=(byte)a;//12自动类型转换
char c='男';
int
i=c;//30007 自动类型转换(‘男’以Unicode码保存在电脑中,此处可以得到他的unicode值)
int i1=200;
byteb1=(byte)i1;//-56强制类型转换(200超过byte范围得到错误结果)
double d=12.3;
int
i2=(int)d;//12强制类型转换,int只能保存整数,损失精度
数组与值传递
public
class Demo {
public
static void main(String[] args){
int int1=100;
int int2=int1;//拷贝值(真实值)
int1=500;
System.out.println("打印int1的值:"+int1);
System.out.println("打印int2的值:"+int2);
int[] arr1=newint[]{1,2,3,4,5};/或者int[]
arr1={1,2,3,4,5},
int[] arr2=arr1;//拷贝一份内存地址(地址值),
arr1[0]=0;
System.out.println("arr1[0]的值:"+arr1[0]);
System.out.println("arr2[0]的值:"+arr2[0]);
}
}
结果:
打印int1的值:500
打印int2的值:100
arr1[0]的值:0
arr2[0]的值:0
流程控制
案例一(for循环):
跳出多重for循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环。例如,
ok:
for(int i=0;i<10;i++) {
for(int j=0;j<10;j++) {
System.out.println("i=" + i +",j="+ j);
if(j == 5)break ok;
}
}
通常并不使用标号这种方式,而是让外层的循环条件表达式的结果可以受到里层循环体代码的控制,例如,要在二维数组中查找到某个数字。
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;
}
}
}
扩展:&与&&的区别
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null&& !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33 &++y>0) y会增长,If(x==33 && ++y>0)不会增长。
&还可以用作位运算符。
案例二(switch循环):
switch(表达式){//表达式的类型只能为 byte shortint char String
case值1:
代码1;
break; //终止循环
......
default :
代码2;
}
扩展:break与continue的区别
for (int i
= 1; i <=5; i++) {
if (i == 3) continue; //跳出本次循环,执行下次循环,而break为终止循环
System.out.println("i=" + i);
}
输出:
i=1
i=2
i=4
i=5
其他略。
* 描述:我的第一个java应用程序
* @authorliwang
*2017/9/11
*/
public
class Demo {
public
static void main(String[]args){
//向控制台输出一串字符
System.out.println("HelloWorld!");
/*使用javac命令编译成字节码(.class)文件
使用java命令解释执行为特定平台的机器码*/
}
}
java的数据类型:
八种基本类型
整型 | 类型 | 存储需求 | 取值范围 |
byte | 1字节 | –128 到 127 | |
short | 2字节 | –32,768 到 32,767 | |
int | 4字节 | –2,147,483,648到 2,147,483, 647 (刚刚超过20亿) | |
long | 8字节 | –9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 | |
浮点类型 | float | 4字节 | 大约±3.40282347E+38F (有效位数6–7 位) |
double | 8字节 | 大约±1.79769313486231570E+308 (有效位数15 位) | |
字符类型 | char | 2个字节 | |
布尔类型 | boolean | true false |
引用类型:(数组,类,接口)
java中默认的整数类型为int类型,如果要定义为long类型,则要在数值后加上l或者L
默认的浮点型也是双精度浮点,如果要定义为float类型,则要在数值后加上f或者F
int a=12;
byteb=(byte)a;//12自动类型转换
char c='男';
int
i=c;//30007 自动类型转换(‘男’以Unicode码保存在电脑中,此处可以得到他的unicode值)
int i1=200;
byteb1=(byte)i1;//-56强制类型转换(200超过byte范围得到错误结果)
double d=12.3;
int
i2=(int)d;//12强制类型转换,int只能保存整数,损失精度
数组与值传递
public
class Demo {
public
static void main(String[] args){
int int1=100;
int int2=int1;//拷贝值(真实值)
int1=500;
System.out.println("打印int1的值:"+int1);
System.out.println("打印int2的值:"+int2);
int[] arr1=newint[]{1,2,3,4,5};/或者int[]
arr1={1,2,3,4,5},
int[] arr2=arr1;//拷贝一份内存地址(地址值),
arr1[0]=0;
System.out.println("arr1[0]的值:"+arr1[0]);
System.out.println("arr2[0]的值:"+arr2[0]);
}
}
结果:
打印int1的值:500
打印int2的值:100
arr1[0]的值:0
arr2[0]的值:0
流程控制
案例一(for循环):
跳出多重for循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环。例如,
ok:
for(int i=0;i<10;i++) {
for(int j=0;j<10;j++) {
System.out.println("i=" + i +",j="+ j);
if(j == 5)break ok;
}
}
通常并不使用标号这种方式,而是让外层的循环条件表达式的结果可以受到里层循环体代码的控制,例如,要在二维数组中查找到某个数字。
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;
}
}
}
扩展:&与&&的区别
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null&& !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33 &++y>0) y会增长,If(x==33 && ++y>0)不会增长。
&还可以用作位运算符。
案例二(switch循环):
switch(表达式){//表达式的类型只能为 byte shortint char String
case值1:
代码1;
break; //终止循环
......
default :
代码2;
}
扩展:break与continue的区别
for (int i
= 1; i <=5; i++) {
if (i == 3) continue; //跳出本次循环,执行下次循环,而break为终止循环
System.out.println("i=" + i);
}
输出:
i=1
i=2
i=4
i=5
其他略。
相关文章推荐
- core java 1~4(HelloWorld & 标识符|关键字|数据类型 & 表达式|流程控制 & 数组)
- 黑马程序员_01_Java语言基础部分(数据类型与表达式、流程控制语句、数组与方法)
- core java 1~4(HelloWorld & 标识符|关键字|数据类型 & 表达式|流程控制 & 数组)
- 01_Java语言基础部分(数据类型与表达式、流程控制语句、数组与方法)
- Java基础小知识——基本数据类型和字符串以及字节数组的转换
- JAVA程序设计1——开发环境搭建、数据类型及流程控制语句
- Java学习笔记001——学前准备、数据类型、运算符、流程控制语句
- java基本数据类型转换成byte[]数组
- java基本数据类型转换成byte[]数组
- day3 注释、标识符、关键字、运算符、流程控制 数据类型 String 类
- javascript&java数据类型以及数组的初始化比较
- [零基础学JAVA]Java SE基础部分-03.标识符、数据类型,数组,方法
- Java学习之数组1(1.数组的声明;2.元素为引用数据类型的数组;3.关于main方法里的String[] args;4.数组排序;5.数3退1 数组算法,(用数组模拟链表);6数组查找之二分法;7数组的拷贝)
- 各数据类型转换byte数组(方便java和c++的网络通信)
- Java 基本数据类型与byte数组互转
- 黑马程序员_Java基础(数据类型、Java操作符、数组排序方法)
- Java学习之旅基础知识篇:数据类型及流程控制
- Java中的移位操作以及基本数据类型转换成字节数组【收集】
- java根本数据类型转换成byte[]数组
- java基本数据类型和数组