java基础-数据类型和转换

1:System.out.print h和 System.out.println区别

System.out.print 将双引号的内容原样输出,不换行

System.out.println 将双引号的内容原样输出,换行

转义字符

\: 就是转义字符,作用: 将后面普通的字母转换为特殊含义

\n:换行

\t: 距离前面有一个制表符位置


2:变量的作用域:

作用域是指作用范围,变量在什么范围中有效

作用范围就是离它最近的{}

局部变量:定义在方法中

成员变量: 定义在类中,方法外

3:java是一种强类型语言, 每个变量都必须声明其数据类型

Java的数据类型分为两大类:基本数据类型(primitive data type)和 引用数据类型(reference data type)

3.1整型数据类型

//给变量赋值的时候,值可以为不同进制的

int num1 = 12; //默认情况下赋值就是十进制的情况

int num2 = 012; //前面加0 这个值就是八进制

int num3 = 0x12; //前面加上0x或者0X,这个值就是十六进制的

int num4 = 0b10; // 前面加上0x或者oB, 这个值就是二进制的

System.out.println(num1);

System.out.println(num2);

System.out.println(num3);

System.out.println(num4);


3.2:浮点型

float类型又被称作单精度类型, 尾数可以精确到5位有效数字,数值有一个后缀f/F, 没有的话默认为double类型

double数值精度是float的两倍, 后缀可以加上D/d


PS:有效数字指的是从左开始第一个不为0的数到最后一个数

//十进制形式

double f1 = 3.14;

//科学计数法形式

double f2 = 314E-2;

// 浮点类型的变量

float f3 = 3.142345534332f;

double f4 = 3.144555666665634;

// 注意: 最好不要进行浮点类型的比较

float f5 = 0.3F;

double f6 = 0.3;

System.out.println(f1);

System.out.println(f2);

System.out.println(f3);

System.out.println(f4);

System.out.println(f5==f6);

3.3:字符型


char ch2 ='A';

System.out.println(ch2);

char ch3 ='4';

System.out.println(ch3);

char ch4 ='中';

System.out.println(ch4);

char ch5 ='?';

System.out.println(ch5);

// 在java中无论: 字母,数字,中文都是字符类型的常量, 都占用2个字节,

char ch6 =' ';

System.out.println(ch6);

// 字符类型,单引号引起来的单个字符

System.out.println("-----------------------");

char ch1 ='\n';

System.out.println("aaa"+ch1+"bbb"); // 换行

System.out.println("aaa\tbbb");  // 制表符

System.out.println("aaa\bbbb");  // \b 向前退一格

System.out.println("aaa\rbbb");  // \r 将光标到本行开头;回车

System.out.println("\"java\"");  // \"将双引号原样输出  \'将单引号原样输出  \\ 将\原样输出

false

输出结果

A

4

?

aaa

bbb

aaa bbb

aabbb

bbb

"java"

char ch1 ='A';

System.out.println(ch1); //A

System.out.println(ch1 +90); //155

System.out.println(155-ch1); //90

// char 类型我们看到的样子就是它本身的字面常量, 但是底层在进行计算的时候,实际是按照一个码机械能计算的

// 这个码就是ASCII

//之前说char类型是按照unicode码表进行存储的,Unicode兼容了ASCII码, Unicode的前128位置ASCII

char ch2 ='中';

System.out.println(ch2);

System.out.println(ch2+90); //20103

System.out.println(20103);//90

//转换

int num1 = (int)ch2;

System.out.println(num1);

char ch = (char)20013;

System.out.println(ch);

char ch5 =20013;

System.out.println(ch5);

结果

A

155

90

20103

20103

20013

//面试题

char ch6 ='2'+2;

System.out.println(ch6); //4

3.4 布尔型


boolean flag =5==9;

String f ="你好";

System.out.println(f);

System.out.println(flag);  //false

3.5数据类型转换


/*

类型的级别(从低到高的)byte, short,char -->int-->long-->float-->double

级别用来做什么?当一个表达式中有多种数据类型的时候,要找出当前表达中级别最高的那个类型,然后其余的类型都转换为

当前级别最高的类型进行计算*/

double d2 =12 +1294L +8.5F +3.81 +'a';

System.out.println(d2); // 1415.31

/*

在进行运算的时候:

左=右:直接赋值

左<右:强转

左>右: 直接自动转换*/

// 以下情况属于特殊情形,对于byte,short, char 类型来说,只要在他们的表数范围中,赋值的时候就不需要进行强转,直接赋值即可

byte b =12;

System.out.println(b);//12

byte b2 = (byte)270;

System.out.println(b2); //14    原因是因为byte只支持8位             

3.6 final关键字

import java.util.Scanner;

/**

* @Auther: heguihui

* @Date: 2021/2/28-02-28-14:53

* @Description: PACKAGE_NAME

* @Version: 1.0

*/

public class final_test {

public static void main(String[] args) {

// 一个变量被final修饰,这个变量就变成了一个常量,这个常量的值就不可变了

        // 这个常量就是字符常量, 字符常量的名字全部大写(约定熟成)

        final double PI =3.14;

        // 使用扫描器Scanner

        Scanner sc =new Scanner(System.in);

        System.out.print("请输入一个半径:");

        int r = sc.nextInt();

        double c =2*PI*r;

        System.out.println(c);

    }

}

你可能感兴趣的:(java基础-数据类型和转换)