在学习每一种新语言的时候,都会学习一些数据类型、运算符、表达式等等基本知识,因为内容大致相同,只要抓住它的不同点就能分清。
关键字 |
数据类型 |
占用字节数 |
取值范围 |
Byte |
字节型 |
1个字节 |
-128-127 |
Short |
短整型 |
2个字节 |
-2的15次幂-2的15次幂-1 |
int |
整型 |
4个字节 |
-2的31次幂-2的31次幂-1 |
long |
长整型 |
8个字节 |
-2的63次幂~2的63次幂-1 |
Float |
单精度浮点型 |
4个字节 |
System.out.println(Float.MAX_VALUE) System.out.println(Float.MIN_VALUE) 默认值是: 0.0F |
double |
双精度浮点型 |
8个字节 |
System.out.println(Double.MAX_VALUE) System.out.println(Double.MIN_VALUE) 默认值是:0.0d |
有时候不确定某一些数据的类型信息,只要写一个小domo测试一下就行
public class TestByte { public static void main(String[] args) { System.out.println(Byte.SIZE);//byte的占多少位,返回为8 System.out.println(Byte.MAX_VALUE);//byte最大值,返回为127 System.out.println(Byte.MIN_VALUE);//byte最小值,返回为-128 System.out.println(Byte.TYPE);//返回Byte的类型,返回为byte } }
例题:
1、int i=1,j;T
2、float f1=0.1;floatf2=123;0.1是double类型,123是int类型。改为0.1f或(float)0.1
3、Long l1=12345678,L2=8888888888;12345678可以装下,10个8装不下。改为8888888888L
4、double d1=2e20,d2=124;T
5、byte b1=1,b2=2,b3=129;改为b3小于等于127的数
6、j=j+10;j只声明没有赋值,所以不能用。
7、i=1/10;结果为0
8、i=i*0.1;0.1是double类型。两个数进行运算,要进行强制转换,改为(double)(i*0.1)
9、char c1='a',c2=125;a是一个字符串类型 T
10、byte b=b1-b2;b1和b2在做运算是的时候会转换为int 类型, 所以要加上强制转换,改为(byte)(b1-b2)
11、char c=c1+c2-1;这个同上面的问题一样,需要进行强制转换
12、float f3=f1+f2;T
13、float f4=f1+f2*0.1;需要进行强制转换,改为(double)(f1+f2*0.1)
14、double d=d1*i+j;改为(double)(d1*i+j)
15、float f=(float)(d1*5+d2);T
编译执行
java由于虚拟机机制实现一次编译,可多次执行;c一次编程,多次编译,同时这还要求编程人员水平很高。
开发C++的使用:VC
开发java的使用:Eclipse, JCreator,JBuilder,NetBeans等
java代码
<span style="font-size:18px;">Public class Test{ Public static void main(String args[]){ //主函数 int j=1; for (i=0;i<5;i++){ j=i; } } }</span>
<span style="font-size:18px;">class Date { public: Date();//构造函数 Date(const Date&);//拷贝构造函数 Date strToDate(string);//将string转化为Date void setDate(string);//设置日期 void printDate();//打印日期 private: int year; int month; int day; bool pass; bool checkFormat(string);//验证日期输入格式 void validate();//验证日期数值有效性 bool leapYear(int);//闰年判断 }; </span>
C++做底层开发比java好。
要想搞明白java和C++间的区别,还需要多多进行比较。我也不大明白,有明白的童鞋可以帮忙讲一讲。。