java语言基础
一、数据类型
在程序设计的过程中,需要对数据进行运算,也需要对数据进行存储。不同的数据类型需要的内存空间是不同的。
Java语言的数据类型分为两大类:基本数据类型和引用数据类型。
基本数据类型
定义:在内存中存放的是数据值本身;
举例:整型、浮点型、逻辑型、字符型;
注释:在Java语言中对于长整型(L)、单精度浮点(F)、双精度浮点(D),在后面都要加上相应的字母;默认数据类型为int;
引用数据类型
定义:引用数据类型在内存中存放的是指向该数据的地址,不是数据值本身,它往往有多个基本数据之组成,因此对引用数据类型的应用称为对象引用,引用数据类型也被称为复合数据类型;
举例:类、数组、接口;
二、关键字与标识符
关键字:在Java语言中被赋予特定含义的一些单词,在程序中有着不同的用途;
标识符:用来表示变量名、类名、方法名、数组名和文件名的有效字符序列;
组成:1、标识符可以有字母、数字、下划线、美元符号等组合而成;
2、标识符必须以字母、下划线或者美元符号开头,不能以数字开头;
3、标识符尽量符合定义变量的含义;
4、类名首字符大写,变量、方法、对象的首字母小写;
三、常量
常量:常量存储的是在程序的运行过程中不能被修改的固定值,即是常量在程序的整个运行过程中保持其值不被改变;
类型:整数常量;浮点型常量;布尔型常量;字符型常量;字符串常量;
转义符:可以是字符型常量,所有的转义符都要用反斜杠(\)开头;
例如:\f (换页符) 、\n(换行符)、\t (制表符)、\\(反斜杠)、\' (单引号)、\" (双引号);
声明:关键字 final 来标识;例如:final int MAX = 10;
注释:Java语言中建议常量标识符全部用大写来表示;
作用:增加可读性;增强可维护性;
四、变量
程序在使用变量之前首先应该在该变量和内存单元之间建立联系,这个过程称为变量的声明或者变量的定义;
格式:类型 变量名 [= 初值] [,变量名 [ = 初值] ······]
int i = 0;
五、数据类型转换
定义:Java语言中允许用户有限度地进行数据类型的转换处理,简称为类型转换;
分类:自动类型转换;强制类型转换;
自动类型转换:占用内存空间较少的数据类型转换为占用较多的数据类型;
注释:转换前的数据类型和转换后的数据类型是兼容的;
byte<short<char<int<long<float<double;
强制类型转换:占用内存空间较多的数据类型转换为占用较少的数据类型,不用牵制类型转换,会报错;
package Demo1; public class Demo4 { public static void main(String[] args) { int a = 155; int b = 9; float g,h; System.out.println("a=" + a + ",b=" +b); g = a/b; System.out.println("a/b=" +g+"\n"); System.out.println("a=" + a + ",b=" +b); h = (float) a/b; System.out.println("a/b=" +h); } }
字符串型数据与整数数据的转换
String myNumber = "1234.5678"; // 定义字符串数字1234.5678 float myFloat = Float.parseFloat(muNumber);
六、键盘输入数据
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Demo6 { public static void main(String[] args) throws IOException { float num; String str; BufferedReader buf; buf = new BufferedReader(new InputStreamReader(System.in)); System.out.println("请输入一个实数:"); str = buf.readLine(); num = Float.parseFloat(str); System.out.println("您输入的是:" + num); } }
package Demo1; import java.io.*; public class Demo7 { public static void main(String[] args) throws IOException { int num1,num2; String str1,str2; InputStreamReader in; in = new InputStreamReader(System.in); BufferedReader buf; buf = new BufferedReader(in); System.out.println("请输入第一个数:"); str1 = buf.readLine(); num1 = Integer.parseInt(str1); System.out.println("请输入第二个数:"); str2 = buf.readLine(); num2 = Integer.parseInt(str2); System.out.print(num1 + "*" + num2 + "= " + (num1*num2)); } }
import java.util.*; public class Demo8 { public static void main(String[] args) { int num1; float num2; Scanner reader = new Scanner(System.in); System.out.println("请输入第一个数:"); num1 = reader.nextInt(); System.out.println("请输入第二个数:"); num2 = reader.nextFloat(); System.out.println(num1 + "*" + num2 + "=" + ((float)num1*num2)); } }
import java.util.*; public class Demo9 { public static void main(String[] args) { String s1,s2; Scanner reader = new Scanner(System.in); System.out.println("请输入第一个数据:"); s1 = reader.nextLine(); /* nextLine() 方法的结束符只是回车键;即nextLine()方法会返回回车键之前的所有字符; */ System.out.println("请输入第二个数据:"); s2 = reader.next(); /* next()方法一定要读取到有效字符之后才可以结束结束输入;在输入有效字符之前遇到空格键、 Tab键、或者回车键等,next()方法会将其自动去掉,只有在输入有效字符字符之后,next()才 会将这些键看作为结束符; */ System.out.println("输入的是" + s1 + "和" + s2); } }
七、运算符与表达式
算术运算符:+、-、*、/、%、++、--
关系运算符:>、<、>=、<=、==、!=
逻辑预算符:!、&&、||、&、|
位运算符:>>、<<、>>>、&、|、^、~
赋值运算符:=、+=、/=