一、基本数据类型(c语言基础快速入门java)

标识符

用来标识类名、变量、方法名、类型名、数组名以及有效字符序列。

语法规则

(1)由字母、下划线、美元符号和数字组成,长度不限制

(2)第一个字符不能是数字

(3)标识符不能是关键字(abstract boolean break byte catch char class continue default do double else extends final finally float for if implements import instanceof int interface long native new null package private protected public short static super switch synchronized this throw throws transient try void volatile while

(4)标识符不能是true、false、null(虽然这三个都是不是Java关键字)

基本类型

八大基本数据类型:boolean、byte、short、int、long、char、float、double。

boolean

范围:true、flase。

变量:使用boolean声明,如 boolean love = true;。

int

范围:-2^31~2^31-1,字节为4。

变量:使用int声明,如 int x = 7;(可以用过前缀表示进制,0为八进制,0x或0X为十六进制,b为2进制,如 int x = 0x10,则x为16)

byte

范围:-2^7~2^7 - 1,字节为1(byte没有常量表示法

变量:使用byte声明,如 byte x = 7;

short

范围:-2^15~2^15 - 1,字节为2(short没有常量表示法

变量:使用byte声明,如 short x = 7;

long

范围:-2^63~2^63 - 1,字节为8,常量表示88L。后缀必须为+L

变量:使用long声明,如 long x = 7L;

注:Java中没有无符号的byte、short、int、long。

char

属性:字节为2,常量表示 'a'.

变量:使用char声明,如char I = '磊';char a = '\n';(换行)

float

属性:字节为4,保留八位有效数字,常量表示3.1415f,3.1415F,后缀必须为f或F

变量:使用float声明,如float pai = 3.1415f;

double

属性:字节为8,保留十六位有效数字,常量表示3.1415d,3.1415D,3.1415,后缀必须为d或D,也可以省略(小数默认为double类型)

变量:使用double声明,如 double pai = 3.1415;

类型转换

基本类型精度从高到低

byte short char int long float double

把低精度的变量,赋值给高精度的变量,会自动转换成高精度的类型

int x = 1;
double y ;
y = x;

 y的结果为1.0;

但把高精度赋值给低精度时必须强制转换

int x = int(1.5)

x的结果为1;

不能超出范围转换

byte x =(byte) 128; //byte最大为127

x的结果为-128,很明显这个数据会导致我们的程序出现不可预料的问题

还需要注意小数默认为double型,想要赋值给flaot型需要强制转换

float x = 12.6; //错误,小数默认为double型
float x = (float)12.6;//正确
float x = 12.6f;//正确

输出

基本操作

System.out.println("hallo");//自动换行

System.out.printf("hallo");//不换行

System.out.println("大小 = "+x);//输出大小 = x(x的值)

System.out.println("大小 = %d",x);//输出大小 = x(x的值)

输入内容过多时,可使用“+”

例如

System.out.println("1232324414"+

"1242323334");

格式控制符合

  1. %d:输出int型
  2. %c:输出char型
  3. %f:输出浮点型,最多6位小数
  4. %lf:输出浮点型
  5. %s:输出字符串
  6. %md:输出int型数据占m行
  7. %m.nf输出浮点型数据占m行,小数部分保留n位

输入

建立扫描器

Scanner sc = new Scanner(System.in);

存入数据

int x = sc.nextInt();(需要什么类型,sc.next+相应类型)

代码演示

import java.util.Scanner;
public class Example {
    public static void main(String[] args) {
        System.out.println("输入数据");
        Scanner sc = new Scanner(System.in);
        int x =sc.nextInt();
        System.out.println("x = "+x);
    }
}

运行结果如下

数组

数组声明

一维数组两种声明方法

数组的元素类型 数组名[ ]; 如int a[ ]

数组的元素类型 [ ]数组名; 如int [ ]a

二维数组两种声明方法

数组的元素类型 数组名[ ][ ]; 如int a[ ][ ] 

数组的元素类型 [ ][ ]数组名;如int [ ][ ]a

注意:int a[ ],b[ ]; 等价int a[ ],b[ ][ ]; 以及int a[12]和int [12]a 错误的声明。

创建数组

a = new int[12];

声明数组和创建数组可以一起完成

int a = new int[12];

二维数组中的一维数组长度不一定相同 

int a[ ][ ] = new int [3][ ];//声明数组

a[0] = new int [1]//创建数组长度为一

a[1] = new int [2]//创建数组长度为二

a[2] = new int [3]//创建数组长度为三

注意越界时,编译可以通过,但运行时会发生ArrayIndexOutOfBoundsException异常。

length

length为数组长度,使用方法“数组名.length”,得到数组长度

int a[ ] = new int[12];

n = a.leng // 等于十二

二维数组则看二维数组中一维数组的个数,如:int a[ ][ ] = new int [3][ ]; a.length等于3。

初始化 

创建数组后系统会给每个元素一个默认值,如int型,是0.

声明数组可以同时给每个元素一个初始值

a[ ] = new int[3]//a的所有元素都是0

int a[ ] = {1,2,3,4,5};//数组长度为5,元素分别为1,2,3,4,5

int a[ ][ ] = {{1},{2,3},{4,5,6}};//二维数组初始化

数组引用 

数组属于引用型变量

int a[ ] = {1,2,3},b[ ] = {4,5};

a,b的内存模型图如下 

a =b;

a和b存放的引用相同,系统释放最初分配给数组a的元素,a,b内存模型变化如下。

System.out.println(a)输出数组a引用,会加上前缀“[ I@”,使用如下方法没有前缀

int address = System.identityHashCode(a);

System.out.println(address);

 注意:对于char型数组a,System.out.println(a),输入的不是引用,而是数组a的全部元素的值。

char a[ ] = {'小','磊'};

System.out.println(a);

结果为:小磊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值