【Java学习笔记一】——基本程序设计结构

声明:本文章内容主要摘选自尚硅谷宋红康Java教程、《Java核心卷一》、《Java语言程序设计-基础篇》,示例代码部分出自本人,更多详细内容推荐直接观看以上教程及书籍,若有错误之处请指出,欢迎交流。

一、数据类型

1.整型

整型用于表示没有小数部分的数值,它允许是负数。Java提供了4种整型:

类型 存储需求 取值范围
int 4字节 -2147483648 - 2147483647
short 2字节 -32768 - 32767
long 8字节 -9223372036854775808 - 9223372036854775807
byte 1字节 -128 - 127

注:长整型long数值有一个后缀L或1(如4000000000L)。

从Java7开始,加上前缀Ob或0B就可以写二进制数。例如,0b1001就是9。另外,同样是从Java7开始,还可以为数字字面量加下划线,如用1000000(或0b1111_01000010_0100_0000)表示一百万。这些下划线只是为了让人更易读。Java编译器会去除这些下划线。

2.浮点类型

类型 存储需求 取值范围
float 4字节 大约±3.40282347E+38F(有效位数为6~7位)
double 8字节 大约±1.79769313486231570E+308(有效位数为15位)

注:float类型的数值有一个后缀F或f(例如,3.14F)。没有后缀F的浮点数值(如3.14)默认为double类型。当然,也可以在浮点数值后面添加后缀D或d(例如,3.14D)。

3.char类型

char类型原本用于表示单个字符。不过,现在情况已经有所变化。如今,有些Unicode字符可以用一个char值描述,另外一些Unicode字符则需要两个char值。
char类型的字面量值要用单引号括起来。例如:'A'是编码值为65所对应的字符常量。
它与"A"不同,"A"是包含一个字符A的字符串。char类型的值可以表示为十六进制值,其范围从u0000到Uffff。例如:u2122表示注册符号(TM),u03C0表示希腊字母π。
特别的,对于char型的获取,Scanner没有提供相关的方法。
故只能获取一个字符串作为获取char类型:

System.out.println("请输入你的性别:(男/女)");
String gender = scan.next();
char genderChar = gender.charAt(0);//获取索引为0位置上的字符
System.out.println(genderChar);

4.boolean类型

boolean(布尔)类型有两个值:false和true,用来判定逻辑条件。整型值和布尔值之间不能进行相互转换。

5.初始化值

若声明变量后未赋值,系统往往会有一个默认值
int:0 short:0 long :0L byte:0 float:0.0f double:0.0d
char:  '/uoooo'(null) boolean:false

二、字符串

PS:后面会学习到String类,所以此处只是以简单介绍为主

从概念上讲,Java字符串就是Unicode字符序列。例如,串"Javau2122"由5个Unicode字符J、a、v、a和TM。Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类,很自然地叫做String。每个用双引号括起来的字符串都是String类的一个实例:

String e = "";//空字符串
String greeting = "Hello";

三、数组

数组是一种数据结构,用来存储同一类型值的集合。通过一个整型下标可以访问数组中的每一个值。例如,如果a是一个整型数组,a[i]就是数组中下标为i的整数。
在声明数组变量时,需要指出数组类型(数据元素类型紧跟[])和数组变量的名字。下面声明了整型数组a:int[] a;
不过,这条语句只声明了变量a,并没有将a初始化为一个真正的数组。应该使用new运算符创建数组。如:int[] a = new int[100];

1.for each循环

Java有一种功能很强的循环结构,可以用来依次处理数组中的每个元素(其他类型的元素集合亦可)而不必为指定下标值而分心。
这种增强的for循环的语句格式为:for(variable:collection) statement
如:for(int element:a)
System. out. println(element);
等于for(int i=0;i< a. length;i++)
System. out. println(a[i]);
打印数组a的每一个元素,一个元素占一行。对比可知,for each循环语句显得更加简洁、更不易出错(不必为下标的起始值和终止值而操心)。

2.数组拷贝

在Java中,允许将一个数组变量拷贝给另一个数组变量。这时,两个变量将引用同一个数组:
int[] luckyWumbers = smallPrimes;
luckyWumbers[5] = 12; //同时会使得smallPrimes[5]也变成12
所谓的拷贝只是将地址传递,并没有重新为新数组变量申请内存空间

3.数组排序

要想对数值型数组进行排序,可以使用Arrays类中的sort方法:
Int[] a = {12, 1, 5, 9, 10, 20, 3, 11};
Arrays.sort(a);
这个方法使用了优化的快速排序算法。快速排序算法对于大多数数据集合来说都是效率比较高的。Arrays类还提供了几个使用很便捷的方法,可以下载Java的API文档详细观看。

此笔记仅针对有一定编程基础的同学,且本人只记录比较重要的知识点,若想要入门Java可以先行观看相关教程或书籍后再阅读此笔记。

最后附一下相关链接:
Java在线API中文手册
Java platform se8下载
尚硅谷Java教学视频
《Java核心卷一》

原文地址:https://www.cnblogs.com/66ccffly/p/13353633.html