java基础学习日志03
2017-12-13 13:53
423 查看
今天是第三天
一.有无返回值的方法和全局变量与局部变量
static定义下的基本数据类型都有返回值,而void则不需要返回值。
类之下的全局变量在整个类中都可被调用,方法中的局部变量只能在方法中被调用。
二.类型转换
这个类是进行类型转换演示的类
在java中基本数据类型的转换和基本数据类型的大小是有关系的
在内存小的转换为内存大的数据类型是会自动进行类型转换,这种叫隐式类型转换。
在内存大的转化为内存小的数据类型时,必须进行声明这种叫强制类型转换,也叫显示类型转换
强制类型转换需要注意的地方
一.强制类型转换可能会丢失数据的准确性
二.强制类型转换从精度高的类型转精度低的类型时,会丢失数据精度(double转float)
表达式的数据类型自动提升
所有的byte型、short型和char的值将被提升到int型
如果一个操作数是long型,计算结果就是long型
如果一个操作数是float型,计算结果就是float型
如果一个操作数是double型,计算结果就是double型
如果一个操作数是String型,计算结果就是String型
一.有无返回值的方法和全局变量与局部变量
static定义下的基本数据类型都有返回值,而void则不需要返回值。
类之下的全局变量在整个类中都可被调用,方法中的局部变量只能在方法中被调用。
class Test1 { // 定义在方法体外部,类内部的变量就是成员变量,也叫全部变量 static int i=10; char c = 'c'; final int max = 100; String str = null; public static void main(String[] args) { // 方法体内部定义的变量叫局部变量 int i=12; int money = 100_0000+i; System.out.println(money); } public void run(){ System.out.println(i); } //有返回值方法 用需要返回的类型进行修饰 public int getNum(int i,int j){ return i+j; } // 无返回值,用void 修饰 public void getNums(int i,int j){ System.out.println(i+j); } }
二.类型转换
public class Test2 { static int age=12; // String str = new String("abc"); 引用类型变量的声明 public static void main(String[] args) { // 八种基本数据类型声明变量 // 整形分为四种(byte,short,int,long) // 浮点型两种(float,double) // 字符型 char // 布尔型 boolean; byte b,b1,b2=12; short s = 12; // float f = 12.3; 在java中所有的小数默认为是double类型, float f = 12.3f; //在java中声明float类型的变量需要在小数后加f或F double d = 12.34D; //在java中声明一个double类型的变量也可以在数学后面加d或D char c = '\"'; //在java中char类型的变量只能存放一个字符。 boolean blean=true; //boolean类型的变量值只有true和false // 八种基本数据类型对应的封装类 // byte ,short ,int ,long ,float ,double ,char ,boolean // 八种基本数据类型对应的封装类(java中对八种基本数据类型的解释) // Byte, Short, Integer,Long,Float,Double,Character,Boolean byte bsize = Byte.SIZE; byte bbyte = Byte.BYTES; byte maxbyte = Byte.MAX_VALUE; byte minbyte = Byte.MIN_VALUE; System.out.println(" "+bsize+" "+bbyte +" "+maxbyte+" "+minbyte); short ssize = Short.SIZE; short sbyte = Short.BYTES; short maxshort = Short.MAX_VALUE; short minshort = Short.MIN_VALUE; System.out.println(" "+ssize+" "+sbyte+" "+maxshort+" "+minshort); int i=100; i=200; i=90; System.out.println(0x80000000); final int J=100; //常量的定义和变量的定义一样,只不过在前面加上final.且常量一旦赋值就不允许进行值得更改。 // j=12; //声明16进制的变量 int i2 = 0x100; System.out.println(i2); //声明一个8进制的变量 int i3= 0100; System.out.println(i3); } }
这个类是进行类型转换演示的类
在java中基本数据类型的转换和基本数据类型的大小是有关系的
在内存小的转换为内存大的数据类型是会自动进行类型转换,这种叫隐式类型转换。
在内存大的转化为内存小的数据类型时,必须进行声明这种叫强制类型转换,也叫显示类型转换
强制类型转换需要注意的地方
一.强制类型转换可能会丢失数据的准确性
二.强制类型转换从精度高的类型转精度低的类型时,会丢失数据精度(double转float)
表达式的数据类型自动提升
所有的byte型、short型和char的值将被提升到int型
如果一个操作数是long型,计算结果就是long型
如果一个操作数是float型,计算结果就是float型
如果一个操作数是double型,计算结果就是double型
如果一个操作数是String型,计算结果就是String型
public class TypeConvert { public static void main(String[] args) { // 在int类型转byte类型时,如果int类型的值超过byte类型的最大值,则超过部分从byte的最小值开始进行计算, // 超过多少在最小值的基础上加多少,如果所得结果大于还是大于最大值,重新从最小值开始,直到最后所得之在byte值范围内。 // 同样道理在整形的其他类型也是一样。 // int i=381; // byte b=(byte)i; // System.out.println(b); // 二。强制类型转换从精度高的类型转精度低的类型时,会丢失数据精度(double转float) // double d = 10.0/3; // System.out.println(d); // float f = (float)d; // System.out.println(f); // d=f; // System.out.println(d); // 浮点类型和整数类型的转换 // 浮点类型转为整数类型必须进行强制类型转换 // 浮点类型转为整数类型只会保留整数部分 // 整数类型转为浮点类型会在整数后面加上.0; // double d=12.84; // float f = 11.2f; // int i=(int) d; // System.out.println(i); // i=(int)f; // System.out.println(i); // f=i; //将整数类型转换为浮点类型 // System.out.println(f); // d=i; // //在long类型转化为浮点类型,然后再将对应的浮点值转化为long类型时,数据准确度没有丢失 // long maxlong = Long.MAX_VALUE; // System.out.println(maxlong); // d= maxlong; // System.out.println(d); // long l = (long)d; //精度高的类型转精度低类型时需要进行强制类型转换 // System.out.println(l); // 所有的byte型、short型和char的值将被提升到int型 byte b=12,b1=10; // byte b2 = b+b1; //这行代码会出错,两个byte类型的数据进行运算的时候,会将结果自动提升为int类型 byte b2 =(byte) (b+b1); //如果两个byte类型运算结果一定要是byte,就必须进行强制类型转换 // int b2=b+b1; // 同上 // short s=100,s1=120; // short s2 = s+s1; // char类型的数值在进行数学运算时如果是英文字符,会根据计算机底层ascii码表进行数值转换,转换为10进制的数 // 如果是汉字或者其他非英文字符,则按照unicode编码表进行转换 // char c = 'a',c1='b'; // int c2 = c+c1; // System.out.println(c2); // char c3='刱'; // int c4 = c3; // System.out.println(c4); } }
// 基本数据类型转换到string引用类型 byte z = 1; short x = 12; int c = 123; long v = 1234; float b = 1.1f; double n = 1.23; char m = 'a'; boolean p = true; String str, str1; str = "" + z; System.out.println(str); str1 = String.valueOf(z); System.out.println(str1); str = "" + x; System.out.println(str); str1 = String.valueOf(x); System.out.println(str1); str = "" + c; System.out.println(str); str1 = String.valueOf(c); System.out.println(str1); str = "" + v; System.out.println(str); str1 = String.valueOf(v); System.out.println(str1); str = "" + b; System.out.println(str); str1 = String.valueOf(b); System.out.println(str1); str = "" + n; System.out.println(str); str1 = String.valueOf(n); System.out.println(str1); str = "" + m; System.out.println(str); str1 = String.valueOf(m); System.out.println(str1); str = "" + p; System.out.println(str); str1 = String.valueOf(p); System.out.println(str1); } // String类型转换为基本数据类型 public static void test1() { String str = "100", str1 = "true"; byte b = Byte.parseByte(str); short s = Short.parseShort(str); int i = Integer.parseInt(str); long l = Long.parseLong(str); float f = Float.parseFloat(str); double d = Double.parseDouble(str); boolean b1 = Boolean.parseBoolean(str1); System.out.println(b); System.out.println(s); System.out.println(i); System.out.println(l); System.out.println(f); System.out.println(d); System.out.println(b1); short s1 = 1; s1 += 1; System.out.println(s1); }
相关文章推荐
- 黑马程序员——黑马学习日志之三 Java基础03
- java基础视频25days(毕老师)学习日志(day01、day02、day03)
- 黑马程序员—学习java基础4日志
- 黑马程序员—学习java基础9日志
- 黑马程序员-java基础学习03-面向对象基础
- java基础视频25days(毕老师)学习日志(day14、day15、day16)
- 黑马程序员 java基础 监听事件相关问题学习日志
- 黑马程序员—学习java基础6日志
- 黑马程序员—学习java基础8日志
- 黑马程序员_java基础学习笔记03_函数以及数组知识
- [java基础学习]03——Java基础语法(二)
- Java基础学习之感悟03
- 黑马程序员 java基础 继承thread多线程学习日志
- 黑马程序员—学习java基础10日志
- java基础视频25days(毕老师)学习日志(day23、24)
- 黑马程序员——黑马学习日志之一 Java基础01
- 黑马程序员 java基础 连接数据库学习日志
- java基础视频25days(毕老师)学习日志(day11、day12、day13)
- 黑马程序员——java基础:异常学习日志
- java基础视频25days(毕老师)学习日志(day07、day08、day09、day10)