• 第二章 基本数据类型与数组


     1、标识符与关键字

    1.1什么是标识符

    凡是程序员可以自己命名的单词,在java语言中标识可以标识的那些元素有:类名,方法名,变量名,常量名,接口名...

    1.2标识符的命名规则

    1. 字母,美元符号,数字,下划线组成
    2.    数字不能开头
    3.    不能是关键字
    4.    不能是null true false
    5.    最好见名知意,符合驼峰规则
    6.    类名 接口名:首字母大写,后面每个单词首字母大写
    7.    方法名 变量名:首字母小写,后面每个单词首字母大写
    8.    常量名:全部大写,单词之间用下划线隔开

    1.3Unicode字符集

    1. unicode字符表0~65535
    2. 前面128个字符是Ascii码
    3. A 65
    4. a 97

    1.4关键字

    全部小写,具有特殊含义的字符序列

    1.5java源程序组成成分

    1. 字面值==数据
    2. 字面值是java源程序的组成成分之一。包括标识符,关键字他们都是java源程序的组成成分
    3. 类型:
    4. 整数型字面值:10 100
    5. 浮点型字面值:19.0
    6. 布尔型字面值:flase
    7. 字符串型字面值:"a"
    8. 字符型字面值:'a'
    9. java语言中所有字符串型字面值都需要使用双引号
    10. java语言中所有字符型字面值都需要使用单引号
    11. 字符是指:字母,数字,字,符号

    2、关于java语言中的变量

    2.1什么是变量?

    1. 变量本质上来讲是内存的一块存储空间,这块空间有数据类型 有名字 有数据
    2. 变量是存储数据的最基本单元

    2.2数据类型的作用

    1. 不同的数据有着不同的数据类型,不同的数据类型底层会分配不同的空间
    2. 数据类型是指引程序在运行阶段应该分配多大的内存空间

    2.3格式

    1. 数据类型 名字【声明一个变量】
    2. 名字=字面值【赋值】
    3. 数据类型 名子=字面值【声明和赋值一起完成】
    4. =是一个赋值运算符,先计算等号右边式子,表达结束后赋值给左边的变量

    2.4访问变量的两种格式

    1. 第一种:get
    2. 第二种:set

    2.5作用域

    1. 在同一个作用域中变量名不能重名,但是变量可以重新赋值
    2. 什么是作用域?
    3. 便来你给的有效范围,在什么范围之内可以访问得,只要出了这个范围该变量就无法访问
    4. 出了大括号就不认识了

    2.6变量的分类

    1. 局部变量:在方法体中声明的变量,无默认值
    2. 成员变量:在类体中声明的变量,有默认值

    2.7变量在什么时候开辟空间

    1. 局部变量是在方法体中,当方法被调用的时候,在栈中为变量分配空间
    2. 成员变量是在类加载的时候在方法区内存为变量分配空间

    2.8数据类型:引用数据类型、基本数据类型

    2.8.1 基本数据类型

    1. 空间大小(单位字节byte) 取值范围
    2. char 2 0~65535
    3. byte 1 -128~127
    4. short 2 -32768~32767
    5. int 4 -2147483648~2147483647
    6. long 8
    7. float 4
    8. double 8
    9. boolean 1

    2.8.2 数据类型详解-字符类型char

    1. public class DataTypeTest01{
    2. public static void main (String[] args){
    3. //定义一个char类型变量起名为c,同时赋值字符'a'
    4. char c='a';
    5. System.out.println(c);
    6. char x='国';//一个中文占用两个两个字节,char类型正好是两个字节
    7. System.out.println(x);
    8. //char y='ab';
    9. //System.out.println(y);//编译报错,ab是字符串不能使用单引号括起来,不是语句和未结束的字 符文字
    10. //声明
    11. char e;
    12. e='e';
    13. System.out.println(e);
    14. e='f';//再次赋值
    15. System.out.println(e);
    16. //转义字符\
    17. char c1='n';
    18. System.out.println(c1);
    19. char c2='\n';//反斜杠在java语言中具有转义功能,这是一个换行符
    20. System.out.println(c2);
    21. //System.out.println和System.out.print的区别是换行
    22. //普通的字符t
    23. char z='t';
    24. System.out.println(z);
    25. //制表符\t就是tab键和空格不同
    26. char p='\t';
    27. System.out.print("a");
    28. System.out.print(p);
    29. System.out.print("b");
    30. //在控制台输出一个斜杠
    31. char o='\\';
    32. System.out.println(o);
    33. //第一个斜杠具有转义功能,将后面的反斜杠转义成普通字符
    34. //在控制台输出一个单引号
    35. char i='\'';
    36. System.out.println(i);
    37. //在控制台输出一个双引号
    38. char u='"';
    39. System.out.println(u);
    40. }
    41. }
    42. 转义字符出现在特殊字符之前,会将特殊字符转换成普通字符
    43. \n换行符
    44. \t制表符
    45. \'普通的单引号
    46. \\普通的反斜杠
    47. \"普通的双引号

    2.8.3数据类型详解-int类型

    1. public class DataTypeInt02 {
    2. public static void main(String [] args){
    3. int q=10;
    4. int w=010;
    5. int l=0x10;
    6. System.out.println(q);
    7. System.out.println(w);
    8. System.out.println(l);
    9. //数据类型byte short char 其后整数型字面值数据在不超出其范围下可以直接赋值给他们
    10. char cc=65535;
    11. System.out.println(cc);
    12. //byte ss=1000;编译报错类型不兼容
    13. byte ss=100;
    14. System.out.println(ss);
    15. double dd=10/3;
    16. long g=10;
    17. int h=(int) (g/3);
    18. System.out.println(h);
    19. // 在编译的时候只检查语法不进行运算,long型转换成int型需添加强制类型转换符
    20. short ii=10;
    21. short jj=5;
    22. //short kk =jj+ii;short byte char 在进行混合运算时统一变成int类型解决
    23. short kk=(short)(jj+ii);
    24. System.out.println(kk);
    25. }
    26. }

    2.8.4基本数据类型的转换

    1. public class Honor {
    2. public static void main (String args []) {
    3. double jiaQi =3.0;
    4. // float pei= jiaQi;编译报错不兼容的类型:从dounle型转换成float型可能会有精度损失
    5. float pei=(float)jiaQi;//输出结果3.0
    6. // float x =0.168;编译报错不兼容的类型:从dounle型转换成float型可能会有精度损失
    7. float x=(float)0.168;//浮点数据类型被默认成double类型,所以大容量转成小容量要进行强制类型转换
    8. // byte y=128;编译报错不兼容的类型:从int类型转换成byte类型可能有精度损失
    9. byte y=(byte)128;//整数型字面值被系统默认成int类型字面值,所以大容量转成小容量要进行强制类型转换
    10. int z =(byte)128;//编译成功,int类型转成byte类型,再由byte类型转换成int,是由小容量转换成大容量成为自动转换类型
    11. System.out. println(z);
    12. System.out. println(y);
    13. System.out. println(x);
    14. System.out. println(pei);
    15. }
    16. }
    17. /*关于基本数据类型之间的转换
    18. 1.小容量转换成大容量称为自动转换类型,大容量转小容量为强制转化
    19. 2.byte
    20. 3.当整数型字面值没有超过byte short char 的取值范围的时候直接赋值给short byte char类型的变量
    21. 4.char byte short 混合运算时,各自转换成int在做计算
    22. 5.多种数据类型在进行混合运算时,转化成容量大的

    3、数组

    3.1什么是数组

    1. 1.数组是有序的,具有相同数据类型的数据集合
    2. 2.数组类型是一组引用数据类型
    3. 3.数组是有序的,可以分出先后来,他们在内存中按在先后顺序存放
    4. 4.数据分为一维数组,二维数组...

    3.2数组声明

    1. 5.数组声明
    2. 数据类型[]数组名
    3. int[]a 表示一维数组,只是声明还不能访问他的任何元素
    4. 6.一维数组的静态初始化
    5. 当我们声明一个数组的同时为这个数组赋值称为数组的静态初始化
    6. int[] a={1,2,3};
    7. a[0]=8;//重新赋值
    8. 7.一维数组的动态初始化
    9. 第一种:数据类型 []数据名=new 数据类型[size]
    10. int []b=new int[6];
    11. 第二种;int []b;
    12. b=new int[6];
    13. System.out.println(b.length);//获得数组的长度
    14. System.out.pringln(b);//获得数组存放的引用,通过该引用可以访问内部元素
    15. System.out.pringln(b[1]);//访问内部元素

    3.3二维数组

    1. int c[][]={{1,2,3},{123,1234,12344}};
    2. System.out.println(c.length);//获得二维数组的长度2
    3. System.out.println(c);//获得数组的引用
    4. System.out.println(c[0][2]);//3解释c[0]确定一维数组,c[0][2]确定一维数组的元素位置
    5. ***两个相同的数组有相同的数据类型,一旦二者引用相同,那么二者就有相同的元素。
    6. */
    7. public class E
    8. {
    9. public static void main (String [] args){
    10. int a[]={1,2,3,4};
    11. int b[]={100,200,300}
    12. b=a;//二者具有相同的引用,就是有相同的元素。a赋值b,b空间元素消失,统一变成a的空间
    13. System.out.println(a.length);//4
    14. System.out.println(b.length);//4
    15. }

    4、习题

    4.1什么叫标识符?标识符的规则是什么?false是否可以作为标识符?

    由字母,数字,美元符号,下划线组成

    首字母不能是数字,不能是关键字,不能是true,false,null

    不可以

    4.2什么叫关键字?true和false是否是关键字?请说出六个关键字

    具有特殊含义的字符数列

    不是

    char,boolean,byte,short,int,float,double,long

    4.3java的基本数据类型都是什么?

    char,boolean,byte,short,int,float,double,long

    4.4float型常量和double型常量在表示上有什么区别?

    float常量后缀必须要有f或者F

    double常量后缀可以有d或者D,但允许省略该后缀

    浮点型数据没有后缀默认都是double类型数据

    4.5怎么样获取一维数组的长度,怎样获取二维数组中一维数组的个数?

    System.out.println(c.length)

    c是一维数组,则获取一维数组的长度

    c是二维数组,则获取二维数组中一维数组的个数

  • 相关阅读:
    CAD一键添加审图批注、AUTOCAD——图形界线怎么设置
    Flink学习24:窗口的分配器
    SkeyeVSS矿山采盗监控系统智能化管控非法采矿解决方案
    最长公共子序列+最长公共子串+编辑距离
    成功编译并运行flutter安卓的gradle文件范例
    git clone拉取项目报错Filename too long warning:Clone succeeded,but checkout failed
    外包干了3个月,技术退步明显。。。。。
    代码随想录算法训练营第三十一天 | 理论基础,455.分发饼干,376. 摆动序列,53. 最大子序和
    uniapp后台播放音频功能制作
    c语言操作符(超详解)
  • 原文地址:https://blog.csdn.net/m0_59882269/article/details/127848214