2.1、数据类型
2.2、基本数据类型应用示例
2.3、表达式和运算符
2.4、程序控制语句
Java语言的数据类型可以分为两大类:基本数据类型和引用数据类型(复合数据类型)。
数据类型 | 特点 |
---|---|
由程序设计语言系统所定义的、不可再划分 | |
基本数据类型 | 数据所占的内存大小固定,与软硬件环境无关 |
在内存中存入的是数据值本身 | |
在内存中存入的是指向该数据的地址,不是数据本身 | |
引用数据类型 | 往往由多个基本数据组成 |
Java定义了8个基本数据类型:字节型、短整型、整型、长整型、字符型、浮点型、双精度型、布尔型。
在程序运行过程中,数据值不能改变的称为常量,数据值可以改变的称为变量。
在Java语言中,所有的常量和变量都要“先声明后使用”。
声明变量的格式:
数据类型 变量名1,变量名2,.....;
常量的声明在前面加一个关键词:final
例如:
final int DAY = 10; //DAY的值在整个程序中保持不变,将其声明为常量
习惯上,常量名用大写字母,变量名用小写字母。
在Java中赋值用(=)表示,所谓赋值就是把赋值号右边的数据或运算结果赋给左边的变量。一般格式为:
变量 = 表达式
例如:
int x = 5; //指定x为整型变量,并赋初值5
关键字就是Java语言中已经规定了特定意义的单词,用来表示一种数据型或表示程序的结构等。这些单词不能用作常量名或者变量名。
Java语言中规定的关键字有:
abstract、boolean、break、byte、case、catch、char、class、
continue、default、do、double、else、extends、false、final、
finally、float、for、if、implements、import、instanceof、int、
interface、long、native、new、null、package、private、protected、
public、return、short、static、super、switch、synchronized、
this、throw、throws、 transient、true、try、void、volatile、while。
转义符 | 含义 |
---|---|
\b | 退格 |
\f | 走纸换页 |
\n | 换行 |
\r | 回车 |
\t | 横向跳格 |
’ | 单引号 |
" | 双引号 |
\ | 反斜杠 |
1.整数类型
import javax.swing.*;
class Example_1
{
public static void mian(String args[])
{
int x,y,sum; //声明三个整型变量
x = 3;
y = 5;
sum = x + y;
JOptionPane.showMessageDialog(null,
"x = 3;"+"\n y = 5;"+"\n x + y = "+sum);
System.exit(0);
}
}
2.浮点类型
浮点数也称为实数,当计算的表达水有精度要求时就要使用浮点类型。
/* 计算圆的面积 */
import javax.swing.*;
class Example2_2
{
public static void main(String args[])
{
double pi,r,s;
r = 10.8; //圆的半径
pi = 3.1416;
s = pi * r * r; //计算面积
JOptionPane.showMessageDialog(null,"圆的面积为:" + s);
System.exit(0);
}
}
1.字符型变量
在Java中,存储字符的数据类型是 char。一个字符在内存中占2个字节。
给字符型变量赋值时,字符需要用单引号括起来,例如:
char ch = ‘a’
/* char 变量的用法 */
import javax.swing.*;
class example_1
{
public static void main(String args[])
{
char ch1,ch2,ch3;
ch1 = 88; // code for X
ch2 = 'Y'; ch3 = '汉';
JOptionPane.showMessageDialog(null,"ch1、ch2 、ch3: " + ch1 + "、" + ch2 + "、" +ch3);
System.exit(0);
}
}
Java的char与C或C++中的char不同。在C或C++中char只有8位,而在Java中char有16位,因为它使用的是Uniocode定义的国际化的字符集。
用双引号括起来的多个字符常量称为字符串。
'abc'是不合法的,而""是合法的,表示空字符。
Java表示逻辑值的基本类型称为布尔型。它只有true和false两个值。
/* 布尔类型的用法 */
class Example2_4 {
public static void main(String args[]) {
boolean b;
b = false;
System.out.println("b is " + b);
b = true;
System.out.println("b is " + b);
// outcome of a relational operator is a boolean value
System.out.println("10 > 9 is " + (10 > 9));
}
}
1.自动类型转换(级别低的变量值赋给级别高的变量)
数据类型转换需要符合的两个条件:
a.转换前的数据类型与转换后的数据类型兼容;
b.转换后的数据类型比转换前的数据类型表示的范围大。
基本数据类型精度从低到高依次为:
byte --> short --> int --> long --> float --> double
2.强制类型转换
强制类型转换是指当把级别高的变量赋给级别低的变量时,必须使用类型的强制转换运算。转换的格式为:
(类型名)要转换的值或者变量;
例:
int a;
double b = 3.14;
a = (int)b;
//结果a = 3,b = 3.14(强质类型转换会降低数据精度)
1.表达式
表达式是由运算符、操作数和方法调用按照语言的语法构造而成的符号序列。
2.运算符以及分类
关系运算符用于比较两个值并决定他们的关系,然后给出相应的取值。
等于是双等号(==)!!!!不是单等号(=)!!!!
条件运算符的短路问题单独研究!!
1.表达式语句
x = 3;
y = 5;
sum = x + y;
//一个表达式的最后加上一个分号就构成了一个语句,分号是语句不可缺少的部分。
2.复合语句
{
x = 25 + x;
System.out.println("x = "+ x);
}
//用大括号把一些语句括起来构成复合语句
3.控制语句
控制语句用于控制程序流程以及执行的先后顺序,主要有顺序控制语句、条件控制语句、循环控制语句。
在Java中,使用简单文本扫描器Scanner类可以接受用户从键盘输入的数据。Scanner可以从System.in中读取数据。
Scanner sc = new Scanner(System.in);
int a = scnextInt();
double b = sc.nextDouble();
String str = sc.next();
顺序控制是程序最基本结构,包含选择控制语句和循环控制语句的程序,在执行上也是按顺序结构执行的。
例:(交换两个变量的值)
int a,b,temp;
temp = a;
a = b;
b = temp;
//temp在这里是i·中间变量,只起过渡作用
1.单分支选择结构
if(条件表达式)
{
若干需要执行的语句; //当上面的if判断为真时执行语句
}
if(表达式) //if的条件为真执行该语句块
{
语句块1;
}
else{
语句块2; //if的条件为假执行该语句块
}
switch语句是一个多分支选择语句,也叫开关语句。
switch(变量名或表达式)
{
case 判断常量1:{
程序段1; break;}
case 判断常量2:{
程序段2;break;}
.
.
case 判断常量n:{
程序段n;break;} //break必不可少!!
[defaut:{
程序段n+1;}]
}
1.for循环语句
for(循环变量赋初值;循环条件;增量量表达式)
{
循环体语句块; //循环体
}
示例:(累加器)
/* for循环 求从1加到100的整数和 */
import javax.swing.JOptionPane;
public class Example2_14
{
public static void main(String[] args)
{
int sum=0;
for(int i=1;i<=100;i++)
{
sum=sum+i;
}
JOptionPane.showMessageDialog(null,"1+2+3+...+100= "+sum);
System.exit(0); //退出程序
}
}
for(; ; )表示无限循环!可以使用break强行退出循环!
2.while循环语句
1)while语句
while(循环条件表达式)
{
循环体; //条件表达式为真时执行循环体
}
2)do…while 语句
do
{
循环体;
}while(循环条件表达式);
3.循环嵌套
循环可以嵌套。在一个循环体内包含另一个完整的循环,叫做循环嵌套。循环嵌套运行1,外循环每执行一次,内层循环要执行一个周期。
/*嵌套循环打印输出99乘法表*/
/* 循环嵌套应用 */
public class Example2_19
{
public static void main(String[] args)
{
int i,j;
for( i = 1;i <= 9;i++)
{
for(j = 1;j <= i;j++)
{
System.out.print(i+"x"+j+"="+i*j+"\t");
}
System.out.println();
}
}
}
运行结果:
1.break语句(中止整个循环)
break有两种用法:
a.用来退出switch循环,跳出switch结构继续执行后续语句;
b.break语句用来中止循环。
/* 使用break语句跳出循环 */
import javax.swing.JOptionPane;
class Example2_20
{
public static void main(String args[])
{
for(int i=0; i<100; i++)
{
if(i == 10) break; // i=10时跳出循环
System.out.println("i= "+i);
}
System.out.println("循环10次后,跳出循环!");
}
}
/*continue语句打印三角形 */
import javax.swing.JOptionPane;
class Example2_21 {
public static void main(String args[]) {
String output="";
for(int i=0; i<5; i++) {
for(int j=0; j<5; j++) {
if(j > i) {
continue ;
}
output= output +"*"+" ";
}
output=output+"\n";
}
JOptionPane.showMessageDialog(null,output);
System.exit(0);
}
}
Java语言基础与C语言基本相同,只存在较小的差异,对于已经学习过C语言的来说几乎可以直接套用了,花了一下午的时间整理,算是一个复习强化了。后面继续坚持整理学习笔记
如有不足,欢迎各位大佬批评指正!