一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。
编写 Java 程序时,应注意以下几点:
Java 常量
常量在程序运行时是不能被修改的。
在 Java 中使用 final 关键字来修饰常量,声明方式和变量类似:
final double PI = 3.1415927;
变量
数据可以在同一类型范围内变化,Java中每个变量必须先声明,后使用。
命名规范
- 类名、接口名: 所有单词首字母大写。
- 包名: 所有字母都小写。(. 表示下一层)
- 变量、方法名: helloWorld (首小其大)
- 常量名: 所有字母大写,多单词用"_"连接.
1、用来标识类名、变量名、方法名、类型名、数组名及文件名的有效字符序列称为标识符。
2、关键字:具有特定用途或被赋予特定意义的一些单词,关键字中所有字母都为小写。
1.逻辑类型
常量:true、false。
变量:使用关键字boolean来声明逻辑变量,声明时也可以赋给初值。
boolean male=true,off=false,isTriangle;
2.整数类型
byte型: 1个字节内存占8位,范围:-128~127.
short型: 2个字节内存,范围:-215~215-1.
int型: 4个字节内存, 范围:-231~231-1.
long型: 8个字节占64位,范围:-263~263-1.
3.字符类型
char型:2个字节内存占16位,范围:0~65535.
转义字符常量:\n(换行),\b(退格),\t(水平制表), '(单引号),"(双引号),\(反斜线)等。
4.浮点类型
float型:特别注意的是常量后面必须要有后缀f或F。保留8位有效数字,分配4个字节内存,占32位,取值范围:-2³¹ ~2³¹-1。
double型:分配8个字节内存,占64位。
5.按精度从低到高排列: (类型转换运算)
byte short char int long float double.
1)当低级变量值赋给高级变量时,系统自动完成数据类型的转换。 如:float x=100;
2)当高>低时,必须使用类型转换运算,格式为(类型名)要转换的值。如int x=(int)34.89.
6.int类转换成String类型:
①String.valueOf(i);
②String s=Integer.toString(i);
③ i+"":一个int型的常量+上个空的字符串int+string型就是先把i转换为string,然后跟上后面的string。
String类型转int类型
int i = integer.parseInt(s);
引用类型
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
数据类型转换必须满足如下规则:
int i =128;
byte b = (byte)i;
//因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。
(int)23.7 == 23;
(int)-45.89f == -45
自动类型转换
必须满足转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。
public class ZiDongLeiZhuan{
public static void main(String[] args){
char c1='a';//定义一个char类型
int i1 = c1;//char自动类型转换为int
System.out.println("char自动类型转换为int后的值等于"+i1);
char c2 = 'A';//定义一个char类型
int i2 = c2+1;//char 类型和 int 类型计算
System.out.println("char类型和int计算后的值等于"+i2);
}
}
强制类型转换
public class QiangZhiZhuanHuan{
public static void main(String[] args){
int i1 = 123;
byte b = (byte)i1;//强制类型转换为byte
System.out.println("int强制类型转换为byte后的值等于"+b);
}
}
隐含强制类型转换
1.输出基本型数据
System.out.print()用于直接输出,System.out.println()也是直接输出,但在结束的地方会加一个换行
需要特别注意的是,在使用System.out. println() 或System.out.print()输出字符串常量时,不可以出现“回车”。输出字符串较长,可以分解成几部分,然后使用并置符号+将它们首尾相接。
public class Main{
public static void main(String[] args){
System.out.println("hello_1!");
System.out.print("hello_2!");
System.out.print("hello!_3");
}
}
2.输入基本型数据(Scanner)
如果你要进行输入,请一定加上两个包
import java.util.*;
import java.io.*;
请看下面例子用于输入单个字符
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args)throws IOException{
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();//输入一个整数
System.out.println(a);
double b=sc.nextDouble();//输入一个双精度的浮点数
System.out.println(b);
String str=sc.next();//输入一个单词,遇到分号则输入终止
System.out.println(str);
String str2=sc.nextLine();//输入一行,中间可有多个空格
System.out.println(str2);
String str3=sc.readLine();
int a=Integer.parseInt(str2);//将str2转换为int,并复制给a
System.out.println(a);
String str4=sc.readLine();
double b=Double.parseDouble(str3);//将str3转换为double,并复制给b
System.out.println(b);
}
}
3.格式控制
4.随机数输出
Random ran=new Random();
ran.nextInt(n)-1; (n):随机输出(0~n);
1. 声明数组包括数组变量的名字(简称数组名)、数组的类型。
声明数组有下列两种格式:
数组的元素类型 数组名[];
数组的元素类型 [] 数组名; (常用)
Java不允许在声明数组中的方括号内指定数组元素的个数。否则将导致语法错误。
如: int a[12];或 int [12] a; (错)
2)为数组分配元素
声明数组仅仅是给出了数组变量的名字和元素的数据类型,还需为数组分配元素,
格式:数组名 = new 数组类型 [数组个数];
例如: boy = new float[4] ;
声明数组和创建数组可以一起完成。
float boy[] = new float[4];
在声明后必须用new运算符为数组分配元素.
3)length的使用
数组的元素的个数称作数组的长度。对于一维数组,“数组名.length"的值就是数组中元素的个数;对于二维数组,“数组名.length"的值是它含有的一维数组的个数。 例如,对于
float a[] = new float[12];
int b[] []= new int[3] [6];
a.length的值12。而b.length的值是3。
数组的四个基本特点
数组的创建实例
package com.kikikikikiku.array;
public class ArrayDemo01 {
public static void main(String[] args) {
int sum=0;
//1.声明一个数组
int[] nums;
//2.创建一个数组
nums = new int[10];//这里面可以放10个int类型的数字
System.out.println("数组为:");
//3.给数组元素赋值
for (int i = 0; i