志达IT
做快乐程序员

java难学吗(java的八种基本数据类型)

java难学吗

Java不难学,Java编程言语是个简单言语,并获得了广大软件开发商的认同,应用非常广泛。
Java的核心技术有:JDBC、JNDI、EJBS、RMI等。JAVA核心技术是具有面向性的c++言语编程技术,不只吸收了自身就有的优点,还摒除了许多难以了解繁琐复杂的多继承概念,所以有简单和好用的两个最大优势,作为静态面向代表很好的实现了编程言语的专业理论,可以让程序员用最高雅的思想方法进行原本枯燥复杂的编程计算,同时独立性和渠道全面性功能也很强,支撑移植数据,散布嵌入体系运用程序。实际上由于价格本钱低廉,早在二十世纪九十年代就有研讨项目组对这种体系进行开发研讨,这才有了现在的渠道。
任何编程言语都不是想象中那样简单的,想要做到精通更是难上加难,并且Java的学习比其他编程言语更难,但是,有利必有弊,Java尽管难于把握,但是在应用上的确其他言语不能比较的,应用范围也是十分广泛。所以,想要今后更好的开展,主张还是不断的挑战自己,只需不断的坚持,必定可以把握的。java
纵观我国现在整体职业来说,互联网IT职业成为了优秀的职业,机械职业有点夕阳西下的意思,电子职业被国企所独占,没有关系很难混起来。如果说没有背景,单凭自己才能的话,在现在这个需要钱的社会,IT互联网程序开发成了靠自己才能可以多挣一点钱,所以各个职业都在转行,其实互联网不存在饱和,只不过大多数人不符合企业规范,水平不够,新手太多。
其实总结一点,JAVA只需你愿意学,仔细学,就不怕学不会,毕竟世上无难事,只怕有心人!

java的八种基本数据类型

1、数据类型
Java支撑数据类型分为两类:根本数据类型和引证数据类型。
根本数据类型共有8种,可以分为三类:
数值型:整数类型(byte、short、int、long)和浮点类型(float、double)
字符型:char
布尔型:boolean
8种根本数据类型的默许值、位数、取值规模,如下表所示:
Float和Double的最小值和最大值都是以科学记数法的形式输出的,结尾的“E+数字”表明E之前的数字要乘以10的多少倍。比方3.14E3便是3.14×1000=3140,3.14E-3便是3.14/1000=0.00314。
注意一下几点:
java八种根本数据类型的字节数:1字节(byte、boolean)、2字节(short、char)、4字节(int、float)、8字节(long、double)
浮点数的默许类型为double(假如需要声明一个常量为float型,则有必要要在结尾加上f或F)
整数的默许类型为int(声明Long型在结尾加上l或者L)
八种根本数据类型的包装类:除了char的是Character、int类型的是Integer,其他都是首字母大写
char类型是无符号的,不能为负,所以是0开始的java
2、主动类型转化
转化规则:从存储规模小的类型到存储规模大的类型。简言之,由低到高。
具体规则为:byte→short(char)→int→long→float→double
经典面试题
1、shorts1=1;s1=s1+1;有什么错?shorts1=1;s1+=1;有什么错?
答案:关于shorts1=1;s1=s1+1;来说,在进行s1+1运算时会主动提升表达式的类型为int,那么将int类型赋值给short类型的变量s1会呈现类型转化过错。
关于shorts1=1;s1+=1来说,+=是java言语规定的运算符,java编译器会对它进行特殊处理,因而可以正确编译。
2、char类型变量能不能贮存一个中文的汉子,为什么?
答案:
char类型变量使用的是Unicode编码的字符,Unicode字符集包含了汉字,所以char类型当然可以存储汉字,还有一种特殊情况便是某个生僻字没有包含在unicode编码字符集中,那么就char类型就不能存储该生僻字。
3、Integer和int的差异
答案:
int是java的8种内置的原始数据类型。Java为每个原始类型都供给了一个封装类,Integer便是int的封装类。
int变量的默许值为0,Integer变量的默许值为null,这一点说明Integer可以区分出未赋值和值为0的差异,比方说一名学生没来参加考试,另一名学生参加考试全答错了,那么第一名考生的成果应该是null,第二名考生的成果应该是0分。关于这一点Integer应用很大的。Integer类内供给了一些关于整数操作的一些方法,例如上文用到的表明整数的最大值和最小值。
4、switch句子能否作用在byte上,能否作用在long上,能否作用在string上?
答案:
byte的存储规模小于int,可以向int类型进行隐式转化,所以switch可以作用在byte上
long的存储规模大于int,不能向int进行隐式转化,只能强制转化,所以switch不可以作用在long上
string在1.7版本之前不可以,1.7版本之后switch就可以作用在string上了
5、根本数据类型和引证数据类型的差异?
答案:无
6、.64位的JVM傍边,int的长度是多少?
答案:Java中,int类型变量的长度是一个固定值,与平台无关,都是32位。意思便是说,在32位和64位的Java虚拟机中,int类型的长度是相同的。
7、可以将int强转为byte类型么?会产生什么问题?
答案:可以做强制转化,可是Java中int是32位的而byte是8位的,所以,假如强制转化int类型的高24位将会被丢掉,byte类型的规模是从-128到128
8、判别输出成果
publicstaticvoidsay(){
System.out.println(3-2.6==0.4);
}
答案:false->int类型和float类型做运算会损失精度所以不等,可以System.out.println(3-2.6)输出成果并不等于0.4
9、java中floatf=3.4;是否正确?
答案:不正确,由于3.4是双精度类型属于double类型,而double类型规模大于float类型,假如想要赋给float类型有必要强制转换:floatf=(float)3.4或者floatf=3.4F
byte->short->int->long->float->double(规模从小到大)
10、输出成果?
bytea=127;
a+=5;
System.out.println(a);
答案:124。首要byte取值规模-128~127当a+=1时此刻已经是超过了byte的临界值此刻输出的为-128、a+=2时输出为-127,以此类推a+=5时输出为-124,只要记住这个技巧关于这个面试题就可以应对了。
11、为什么longl=2000000000可以,而longl=3000000000却编译报错
答案:由于在Java中二十亿和三十亿的默许类型都是int类型的,而二十亿是在int规模类的,三十亿不在int规模内,所以后边的longl=300000000会编译报错。解决方法:在三十亿后边加上一个大写或者小写的L
12、为什么inta=09;会报错
答案:由于在进制表明中0开头的表明八进制,而八进制中不能呈现大于7的数!
13、inti=3000000000;编译能经过吗?原因是什么?(面试题)
答案:不能经过,由于三十亿在Java中的默许数据类型为int,而三十亿不在int可以表明的规模内,所以不能编译经过
14、输出成果?
inta=10;
doubleb=3.4;
System.out.println(a>b?a:b);
System.out.println(a);
//输出:10.010
15、输出成果?
inta=128;
byteb=(byte)a;
System.out.println(b);//输出-128,呈现了数据溢出
doublec=1.23;
intd=(int)c;
System.out.println(d);//输出1,精度丢失
16、输出成果?
运算时,运算成果会向较大的类型转化
inta=3;
doubleb=4;
System.out.println(a+b);//输出7.0
17、为什么byteb=10b会报错?
答案:byte在java中表明字节,而b表明的是bit

赞(0)
未经允许不得转载:志达IT网站 » java难学吗(java的八种基本数据类型)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

志达IT网站 每天分享编程和互联网的IT技术博客

登录/注册联系我们