Java环境、数据类型

Java数据类型几乎是贯彻你以后所有的知识的,所以在学习Java之前一定弄明白这个知识点!!!

* Java是程序设计语言     Java在服务器端编程和跨平台客户端应用领域则很有优势。

* Java语言所具备的特征

            1)简单性          2)面向对象          3)分布式          4)健壮性          5)安全性          6)体系结构中立

            7)可移植性      8)解释型              9)高性能          10)多线程          11)动态性

    ps:了解下这些java特性有助于你对java的认识。这些也称作Java“白皮书”的关键术语.在oracle官网也可以找到官方解释(英文版)

https://www.oracle.com/technetwork/java/langenv-140151.html

http://horstmann.com/corejava/java-an-overview/7Gosling.pdf

 

1.JAVA环境:

JDK:Java Development Kit java开发环境

面向开发人员使用的SDK,提供了开发环境

和允许环境 包含了一个JRE

JRE: Java Runtime Environment java运行环境

是面向程序的使用者,提供运行环境

JVM :JAVA虚拟机 jre包含了一个JVM

 

***注意JDK和JRE的区别:

一个是开发环境,一个是运行环境。

面向的对象不同,JDK面向开发人员、JRE面向程序使用者。

两者都包含了一个JVM,其中JDK是因为包含了一个JRE才有JVM的。

 

2.命令提示符运行Java文件

前提:需要进行Java环境变量设置:基本上现在直接在百度上搜索,会有很多教程的;

JAVA_HOME:C:\Program Files\Java\jdk1.8.0_121

path:%JAVA_HOME%/bin

操作:在命令提示符中切换到需要运行的Java文件所在目录

·切换到D盘

C:\Users\lenovo>d:

·切换到D盘的目录D:\kkk\kk\k

d:>cd kkk\kk\k

命令:

javac命令:将.java文件编译成.class文件

java命令 : 执行.class文件

 

3.Java文件名与类名的关系

·一个Java文件中可以写多给类

·Java文件名必须与被public修饰的类名相同。

·public修饰的类最多只能有一个

·如果没有public的类,则Java文件名与其中一个类名相同即可

·如果一个文件中有多个类,则会编译成多个class文件建议一个类一个文件

 

4.数据类型

8种基本数据类型(1字节 = 8位)

·byte 1字节

·short 2字节

·int 4字节

·long 8字节

·float 4字节

·double 8字节

·boolean 1位

·char 2字节

 

JAVA中将小数默认为double类型,若要定义float需在数据后面用f声明;

对应的类类型:Byte、Short、Integer、Long、Float、Double、Boolean、Character

 

***数据类型之间的转换以及Java中转换遵循的原则

·Java中默认转换规则

取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算

 

·Java语言中的数据类型转换有两种:

自动类型转换:编译器自动完成类型转换,不需要在程序中编写代码。

强制类型转换:强制编译器进行类型转换,必须在程序中编写代码声明。

 

·自动类型转换

概念:又叫隐式转换,系统自动完成类型转换(由于实际开发中这样的类型转换很多,所以 Java 语言在设计时,没有为该操作设计语法,而是由 JVM 自动完成)

规则:从储存范围小的类型到储存范围大的类型。(赋值等号右边的范围要小于等于左边的就可以自动向上转型)

具体规则为:byte→short(char)→int→long→float→double

例子:

byte b=10;

short sh=b;

解析:这里在给sh赋值时,JVM首先将b的值转换成short类型然后再赋值给sh。

当然,在类型转换的时候也可以跳跃,就是byte也可以自动转换为int类型的。

注意:整数之间进行类型转换的时候数值不会发生变化,但是当将整数类型特别是较大的整数类型转换成小数类型时,

由于储存精度不同可能会存在数据精度的损失。

 

 

·强制类型转换

概念:又叫显示转换,必须在程序中编写代码才能完成类型转换(该类型转换存在精度的损失可能性较大)

规则:从存储范围大的类型到存储范围小的类型。

 

具体规则为:double→float→long→int→short(char)→byte

语法格式为:(转换到的类型)需要转换的值

例子:

double d=3.14;

int i=(int) d;

注意:强制类型转换通常都会存储精度的损失,谨慎使用。

ps:类型转换的概念到后面也会运用到,所以这里一定不要死记。尤其是在多态的运用中。

 

5.运算符:对常量和变量进行操作的符号

算数运算符

赋值运算符

关系运算符

逻辑运算符

位运算符

三目运算符

 

6.在赋值中使用二元运算符

x+=4; 等价于 x = x+4;

ps:使用二元运算符有一个好处,当等式一边需要进行类型转换时,使用二元运算符会自动转换。

int x = 0; //声明一个int类型的变量,并进行赋值初始化

x+=3.5; //3.5是一个浮点型,需要转换成int,这里会自动转

x = (int) (x+3.5); //需要显示声明转换类型

 

7.自增和自减

int i = 12;

i++;

i--;

++i;

--i;

这四种情况都会使变量i的值加1或减1.但是在具体表达式中使用时,放在前面的和放在后面的就有所区别了。前缀形式会先完成加1;而后缀形式会使用变量原来的值。

int m = 7;

int n = 7;

int x = 2*++m; //结果是:x=16 m=8

int y = 2*--n; //结果是:y=14 n=8

 

8.三目运算

三元操作符:? :

表达式:condition ? expression1 : expression2

x<y ? x:y;

如果x小于y,则返回x,否则返回y

 

变量

声明变量:变量类型 变量名;

 

变量名:变量名必须是一个以字母开头并由字母或数字构成的序列。变量名是区分大小写的。一般一个合格的程序员所定义的变量名是要具有意义的。

 

可以在一行中声明多个变量;

int a,b;

但是,一般不提倡使用这种风格。逐一声明每一个变量可以提高程序的可读性。

 

变量初始化:

声明一个变量后,必须用赋值语句对变量进行显示初始化,千万不要使用未初始化的变量。否则会报错:error--variable not initialized

 

常量:在Java中利用关键字final指示常量。

final double MAX_SCORE = 100.0;

关键字final表示这个变量只能被赋值一次。一旦被赋值后,就不能再更改了。有个不成文的约定,常量名使用全大写。

关于数据类型的相关面试题:

1、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 +=1;有什么错?

答:对于short s1=1;s1=s1+1来说,在s1+1运算时会自动提升表达式的类型为int,那么将int赋予给short类型的变量s1会出现类型转换错误。

对于short s1=1;s1+=1来说 +=是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值