个人的学习总结,欢迎指正
文章目录
目录
前言
Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程,本章开始讲解基本数据类型,
提示:以下是本篇文章正文内容,下面案例可供参考
一、基本数据类型
1.数值型
见名知意,我们数值型就是与数字有关的一种数值类型,在Java中又将其分为两种类型,分别为整型和浮点型在此我们通过代码讲讲Java中默认数值类型的这件事;
2.字符型
字符型(char)表示一个字符,用单引号括起的单个字符,占两个字节;
char也可以表示数值整数,可表示带符号和无符号的值:
无符号(0~255)
带符号(-127~128)
在Java中无论是‘字母’‘数字’ ‘符号’,中文,都是占两个字节。在此我们再补充讲解转义字符“\”
public class Zhi {
public static void main(String[] args) {
char i='8';
char j='中';
char x='\n';//我们说字符型是由单引号括起来的单个字符,但在此\n被看成一个整体,为一个字符。
System.out.println("aaaa\nbbbbb");
/*(此为换行符,其作用是使得aaaa输出后换行达到
aaaa
bbbbb 的效果
*/
System.out.println("aaaa\tbbbbb");
System.out.println("a\tbbbbb");
System.out.println("aaaaaa\tbbbbb");
//此为制表符,其作用是使得补充8的倍数个字符位,如后图所示
System.out.println("aaaaaa\rbbbbb");//”\r“为回车符,意味着回退到开始的位置,就是首个位置
System.out.println("aaaa\bbbbbb");//在输出完aaaa时‘\b’退格符退格回退了一个a所以出现aaabbbbb
System.out.println("\"java\"");//括号里面的\使其右边的“原样输出,目的是使其”“不匹配,从而输出”java“
// \'\'也时一样的原样输出单引号
System.out.println("\\java\\");
}
}
注意:在字符类型中在没有进行运算时,它会原样输出,但在进行了加减乘除运算后的字符会在底层时进行运算所以,输出的值会发生改变;如下
public class Hhh {
public static void main(String[]args){
char num1='A'+2;
System.out.println(num1);//我们通过Ascll得知A所对应的十进制数为65加2后为67对应的为C,故输出的位C
}
}
3.布尔型
布尔型(boolean),我们知道boolean是一个判断型的基本数据类型,其输出的不是ture,就是false,也可以用c语言中的它输出‘0’或‘1’来、说明其为什么只占一个位,其一般用于流程控制
public class Boolean {
public static void main(String[] args) {
boolean flag=(8<9);
boolean flag1=true;
System.out.println(flag);
System.out.println(flag1);
}
}
二、进制转换
1.十进制与二进制与八进制与十六进制
十进制转化为二进制采用短除法,除的是二,相应的转化为八进制和十六进制也是一样的。
二进制转化为十进制时对应数字是几那就是它乘与其的几次方如下:
相同的八进制与十六进制也是一样的。。
十进制小数位转换二进制小数位;
十进制小数位乘二,得到的整数为取掉如果乘过一次整数位为零的话,那就取零;
同样的八进制乘八,十六进制乘十六。
注意:当问及八进制转化为十六进制的题目时,我们可以先将八进制转化为十进制再转化为十六进制,此外除了自己算以外,计算机本身也提供了程序员专用的计算器。
三、数值类型的强制转换与自动转换
1.自动转换
我们可以想像int,和double分别为一个箱子,可将赋予的数值看成面包,我们知道int为4字节,double 为8字节故 可以将其看成更大一号的箱子,你想想,把你一个刚适合放在更大一号箱子里的面包·硬塞在小一号的箱子里面,这时候多出来面包就会掉出来,也就是我们所说的数据丢失,所以会出现我们上图的报错的情况。
2.强制转换
强制转换的模板如下:
public class jjj {
public static void main(String[] args) {
double i=8.98775;
int j=(int) 8.98775;//此处为强制将double强制转换为整型。
long x=798898L;
int y=(int) x;//此处为强制将long型强制转化为整型。
System.out.println(y);
System.out.println(j);
}
}
强制转换的意义在于将一些数值转化为我们需要的类型。
3.补充
类型级别:
byte<short<int<long<float<double
区分级别的作用是,当一个表达式中有多种数据类型时,要找出最高级别的数值类型,然后其余的类型都转化为最高类型进行计算。请看如下代码,及最后输出的数值。
public class jjj {
public static void main(String[] args) {
int i=1;
long j=2;
float x=1.4F;
double y=1.0;
System.out.println(i+j+x+y);
}
}
四、final与Scannner
1.final
final 将一个变量变成一个常量,也就是我们常说的字符常量,一个字符被定义为了一个常量(所定义的变量要大写)如下代码所示:
2. Scanner
我们目前可将Scanner形象的认为是一个上有个扫描器,它会获取我们从键盘中输入的值。
import java.util.Scanner;
public class men {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("姓名:");
String name=input.next();
System.out.print("性别:");
char sex=input.next().charAt(0);
System.out.print("年龄:");
int age= input.nextInt();
System.out.print("身高:");
double height= input.nextDouble();
}
}
补充:
我们的Scanner可以输入int double 和String型但不能输入char型,但可以和上述代码一样输入的虽然是字符串型但在后面加charAt(字符位置),可以获得位与字符串某个位置上的字符。
总结
无论学习何种语言我们都要夯实基础,注意基础学习,今后才可以避免出现错误。
“九层之台起于累土,千里之行始于足下”
“千里之堤溃于蚁穴”
欢迎指正 (----------)