认识java数据类型和数据类型转换&运算符

知识回顾:
1.JDK安装
配置环境变量
新建classpath    Class编译文件存放的位置
新建java_home    很多中间件依赖于java_home
修改path         eclipse   JDK编译运行依赖于path中JDK的bin目录


2.Java的发展史
1995   sun公司   詹姆斯.高斯林    
2009   oracle公司 74亿
2011   JDK7.0
2014   JDK 8.0

3.Java特征:
1.面向对象
2.跨平台     JVM  Java虚拟机
3.安全性高   GC   垃圾回收机制
4.健壮性

4.命名规范:
包名:              全小写
类名、接口名:      大驼峰,每个单词首字母大写,类名之间.
方法名、变量名:    小驼峰,第一个单词首字母小写,其他单词首字母大写
常量名:            字母全大写,单词之间用下划线连接
note:由数字,字母,下划线,美元符号组成;不以数字开头;取名有意义,见文知意,不拼音英文混拼




新知识:
1.Java关键字
什么是Java关键字?
在Java中具有特殊意义的单词,被称之为Java关键字。Java关键字都是全小写。
Java关键字有哪些?
见图

2.Java标识符
什么是Java的标识符?
什么是标识符?
标识就是具有特殊意义的标记。标识符就是具有特殊意义的字符。
Java标识符就是在Java中具有特殊意义的字符。

Java的标识符有哪些?
Java标识符: 关键字、包名、类名、接口名、方法名、变量名、常量名

Java标识符命名规则?
1.由字母、数字、下划线、$组成
2.不能以数字开头
3.见文知意(取名字要有意义)

3.Java中的注释符号
什么是注释符号?
什么是注释?
用于解释的文字。用于标记这段文字是用于解释的符号。

注释符号有哪些?
Java注释符号分3种:
1.单行注释://  注释的文字

2.多行注释:
/* 
注释的文字
注释的文字


*/
3.文档注释
/**
 *注释的文字
 *注释的文字
 */
文档注释使用工具会生成注释文档

4.进制
什么是进制?
进制就是一种进位的方式,X进制就是逢X进位

计算机默认使用二进制进行运算


常见进制:
二进制   八进制   十进制  十六进制

进制的转化:
二进制转化为8进制:
从右边开始,3位一组转化为10进制,将最后得出来的数组合在一起,就是8进制
    如16,转:
十进制: 16
二进制:10000
八进制: 20   --->010 000即为1*2^1=2   0*2^0=0
十六进制:10    二进制转16,4位一组转化为10进制,将最后得出来的数组合在一起,就是16进制 二进制0001 0000组合为10

二进制十进制转化:
                        1248法则表


位权展开法:
基数:每位上具体的数值就是基数
系数:多少进制系数就是多少,例如2进制,系数就是2
权:从右侧开始,第一位的权是0,第二位是1,以此类推

公式:
基数*系数^权 之和
--------------------------------------------------------------------------------------------------
Java数据类型
Java语言是一门强类型的语言.Java有严格数据类型检查.不像Javascript是一门弱类型的语言.
没有严格数据类型检查.

Java数据类型分类:
2类:
基本数据类型:   1个字=2个字节  1个字节=8位
byte  字节           1字节 
short  短整型        2字节
char   字符          2字节
int    整型          4字节
long   长整型        8字节
float  单精度浮点型  4字节
double 双精度浮点型  8字节

注意:
1.所有的整数默认是int类型,所有的小数默认是double类型

2.在实际运算过程中,byte short char 是不参与运算的,会转化为int再进行运算

以上7种数据类型是按照占用内存大小从小到大进行排序


boolean 布尔型 ---> true  false



引用数据类型:
数组 []
接口 interface
类   class

变量:
什么是变量?
在程序运行过程中值能够发生改变的一个量.


变量的语法格式?
语法格式:
数据类型  变量名称 = 值;
注意点:
1.数据类型 ---> 说明既可以是基本数据类型,也可以是引用型数据类型
2.变量名称 ---> 名字你随便去,求你遵循命名规范
3.一行代码写完时,使用英文的分号,表示结束.

例如:
整型变量: int m = 10;
长整型的变量: long l = 10;
byte类型的变量: byte b = 10;
short类型的变量: short s = 10;
char类型的变量: char c = '汉'; char c2 = '字';
float类型的变量: float f = 1.0f;
double类型的变量: double b = 2.345;double b1 = 2.3d;

接口/类:   类名 变量名称 = 值;
数组:数据类型[] 变量名称 = {值};

变量由于其定义的位置,分为成员变量和局部变量.
成员变量定义在类中,方法外面.
局部变量定义在方法上面或者方法里面.

变量作用域:
什么是作用域?
起作用的区域

在Java中变量的作用域遵循就近原则.所有变量的作用域的范围都是离它最近的大括号.
所有变量的生命周期,也遵循就近原则,当大括号结束,变量就等待被GC回收.
====>
public class Demo05{        //定义类

public static int m ;     //成员变量,在类下面,方法下面

public static void main(String[] args){      //main方法
/*
变量的语法格式:
数据类型 变量名称 = 值; null 
其他格式:
数据类型  变量名称1,变量名称2,...,变量名称n;
数据类型  变量名称;
变量由于其定义的位置分为成员变量和局部变量.
*/

int m1,m2,m3,m4;
int n = 1000;
m1 = 0;
//System.out.println(m1);
{

int n = 100;   //上面n在下面的大括号结束,此时相当定义了同一个变量,编译会出错
System.out.println("第26行  变量  "+n);

}
System.out.println("第28行   "+n);

}
}


注意:
1.相同的作用域中,变量名称不能重复
2.没有初始化值的局部变量,无法直接使用
3.一行中推荐定义一个变量,虽然可以定义多个但是不推荐.


数据类型转换:
什么是数据类型转换?
将某类型的数据转化为另外一种数据类型.这种方式被称之为数据类型转换
例如:
byte b = 10;//b ---->byte  1字节
b = 9;
int m = b; // m ---> int  4个字节, b这个数转化为了m这个数据,而m是int
1字节 ---> 4个字节

double d = 1.0; 8个字节
float f = (float)d; 4个字节
8个字节 ---> 4个字节



数据类型转化的规则:
小类型转化为大类型  ----> 直接转化  隐式转换

大类型转化为小类型  ----> 强制转    显式转换
因为大类型转化为小类型,可能会缺失精度.所以需要程序员手动强制进行类型转换.
语法:
隐式转换:
大类型 变量名称 = 小类型;
强制转换/显式转换:
小类型  变量名称 =  (小类型) 大类型的值;
=====>
public class Demo06{
public static void main(String[] args){
int i = 100;
double d = i;//小类型转化为大类型
System.out.println(d);
double d1 = 1.01;
int i1 = (int)d1;//大数据类型转化为小数据类型 --->强制转换
double d2 = 1.0;
System.out.println(d2);
int i2 = (int)d2;
System.out.println(i2);
}
}

常量:
什么是常量,什么是Java常量?
常量是指值不会发生改变的量.
Java中的常量就是指在程序的运行过程中,某个量的值一经赋值,将不能再发生改变.

常量分类:
基本常量:
整数常量:所有整数都是常量 ---> 1 , 2 ,3
小数常量:所有的小数都是小数常量 ---> 1.2,1.3
布尔常量:true,false
字符串常量:所有的字符串都是常量 ---> "我爱Java,我们都信了"
字符常量:所有的字符  ----> '我' ,'爱' 等字符
空常量:null  


自定义常量:
被final修饰的变量就是常量

语法:
final int m = 10;
       =====>
public class Demo07{
public  final int m ;   //final最终的  不可改变的,定义了final,变量相当于常量了

public Demo07(){
m = 9;
}
public static void main(String[] args){
Demo07 demo = new Demo07();
//System.out.println(m);//10
//m = 9;
System.out.println(demo.m);//9
}
}
注意:
JVM在编译时,常量计算会先计算再编译.
===>int m = 1; int n = 2;
   byte h = m+n;    //报错,int是4个字节大类型转化为byte为1个字节,精度损失
byte i = 1+2;    //jvm优化,常量先计算1+2+3,把3赋值给byte i


运算符:
算术运算符
+ 加 - 减  * 乘 / 除

% 取模运算符 ---> 求整除时的余数
例如  2%3 ---> 2

++ 自增运算符 ,自增运算符是指每次加1
++值的前面
若++在值的前面,先做值自身的加1运算

++值的后面
若++在值的后面,值先参与其他运算,然后再做自身加1运算


-- 自减运算符,自减运算符是指每次减1
--在值的前面
若--在值的前面,先做自身的减1运算,再参与其他运算

--在值的后面
若--在值得后面,先参与其他运算,再做自身的减1运算
====>
int b1 = 10;
System.out.println(b1--);//10 
System.out.println("56:   "+b1);
// b1 = 9
System.out.println(--b1);//8
System.out.println("59:   "+b1);
//b1 = 8 , 打印(8-- -1) 先做8-1运算,参加打印运算, 8再做--运算
System.out.println(b1-- -1);// 7

System.out.println("61:   "+b1);//7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值