Java学习笔记(一)
来源:互联网 发布:淘宝上的降头有谁试过 编辑:程序博客网 时间:2024/06/03 23:59
1.数据溢出
当范围内最大值再加1时,就变成了单位内最小的值。E.g.
int a = Integer.MAX_VALUE;
println(“整形数据中最大的值:” + a);
println(“最大值加1之后:” + ( a + 1 ));
println(“最大值加2之后:” + ( a + 2 ));
println(“最大值加2之后:” + ( (long)a + 2 )); // 等同于( a + 2L )
———————————输出结果—————————
整形数据中最大的值:2147483647
最大值加1之后:-2147483648
最大值加2之后:-2147483647
最大值加2之后:2147483649
2.需要注意:任何数据类型遇到String都向String类型转换。E.g.
int i = 1, j = 2;
println(“i + j = ” + i + j);
println(“i + j = ” + ( i + j ));
———————————输出结果————————————
i + j = 12
i + j = 3
(为了保证数值的运算需要加括号来分割)
3.数据类型的转换
(1)自动转换 e.g. 3/2 = 1 ; 3/2.0 = 1.5
(2)强制转换 e.g. (int)(23.33) = 23
4.常用的运算符中,三目运算符的优先级最低
5.简洁表达式
a* = b++; //相当于首先a = a * b,之后再b = b + 1
a* = ++b; //相当于首先b = b + 1,之后再a = a * b
5.关于switch-case
JDK1.5(J2SE0.5)开始,switch开始支持枚举类
(1)case中没有break,则会一直执行到switch语句的尾端才会离开语句;
int x= 3,y = 6;
char opr = ‘+’;
switch(opr)
{
case ‘+’:
print(“x+y=” + (x+y));
case ‘-’:
print(“x-y=” + (x-y));
case ‘/’:
print(“x/y = ” + (x/y) );
case ‘*’:
print(“x*y=” + x*y);
default:
print”未知!”;
}
————————————输出结果————————————
x+y = 9
x - y = -3
x/y = 0
x*y = 18
未知!
(2)在switch-case语句中,如果没有定义default语句,则什么也不执行,直接退出switch。
6.Dos下运行程序出现死循环按Ctrl + C可以结束循环。
7.break,continue和return
break:跳出本级所有的循环;
continue:终止本次循环,继续下次循环:
return:终止方法操作。
8.Java中的数据类型:基本数据类型,引用数据类型
基本数据类型包括:int,float,byte等等
引用数据类型包括:数组,类和接口
9.关于int[] arr = new int[3]
int[] arr = null; // 数组的声明
arr = new int[3]; //分配内存
int[] arr = null;的过程只是在占内存中保存了此数组的名称(数组在堆内存中存储地址的参考地址),arr = new int[3];的过程是在堆内存中开辟了三个int类型的存储空间,并将此存储空间的参考地址赋给arr。
【注意】
数组是引用数据类型,作为函数形参传入的是数组的引用,即数组的存储地址,在函数内操作的过程,实际上操作的是堆内存中数组本身,当函数结束之后,会保存修改结果。
如上图所示,x为fun函数内的局部变量,通过x对其指向的数组进行了修改,在fun的生命周期结束之后,x回收失效,但fun内对堆内存中数组元素的修改杯保存了下来。E.g.
public void fun(int[] x)
{
x[0] = 6;
}
int[] arr = {1,2,3}; //静态声明一个数组
//调用fun前
print(arr);
//调用fun函数
fun(arr);
//调用fun后
print(arr);
———————————输出结果————————————
1 2 3
6 2 3
相比数组,整数类型等基本数据类型的数据作为形参传入时,只是一种值传递的过程,函数的任何操作不会改变变量本身的值。E.g.
public void fun(int x)
{
x++;
}
int a = 1; // 声明一个全局变量
//调用fun前
print(a);
//调用fun函数
fun(a);
//调用fun后
print(a);
———————————输出结果————————————
1
1
- Java学习笔记(一)
- Java学习笔记(一)
- Java学习笔记(一)
- java学习笔记(一)
- JAVA学习笔记 (一)
- java学习笔记(一)
- java学习笔记(一)
- JAVA学习笔记(一)
- java学习笔记(一)
- Java 学习笔记(一)
- java学习笔记(一)
- Java学习笔记(一)
- java学习笔记(一)
- Java学习笔记(一)
- Java学习笔记(一)
- Java学习笔记(一)
- Java学习笔记(一)
- JAVA学习笔记(一)
- 勉励自己
- JAXB
- Spark学习之6:Broadcast及RDD cache
- hdu1754 I Hate It 线段树求区间最值
- IOS 自定义tabbar
- Java学习笔记(一)
- 菜鸟学设计模式系列笔记之单例设计模式(Singleton模式)
- WebLogic12C安装笔记
- Protocol Buffer相关
- 外地户口在京生娃办材料系列之母子健康手册
- Objective-C 面向对象初体验
- 面向对象五个原则
- 资源文件xml里的命名空间
- 函数要多小才够好——谈小函数之道