首先举荐一个网站,这个网站是我老师自己做的讲的都是一些简单的Java基础:https://www.bigdata1234.cn/java/
HelloWorld
public class helloworld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
如果在cmd中编译运行则需要到当前目录下:
//编译
javac HelloWorld.java
//运行
java HelloWorld
注释
单行注释://
多行注释:/* */
文档注释:/ ** */
关键字
关键字的定义:
被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
关键字的特点:
关键字中所有字母都为小写
保留字
现有Java版本尚未使用,但以后版本可能会作为关键字使用。
在命名标记符时要避免使用这些保留字。
标识符
凡是自己可以起名字的地方都叫标识符
定义合法标识符规则:
- 由26个英文字母大小写,0-9,_或$组成
- 数字不可以开头
- 不可以使用关键字和保留字,但能包含关键字和保留字
- Java中严格区分大小写,长度无限制
- 标识符不能包含空格
Java中的名称命名规范
- 包名:多单词组成时所有字母都小写:xxxyyyzzz
- 类名、接口名:多单词组成时,所有单词的首字母大写XxxYyyZzz
- 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始,每个单词首字母大写:xxxYyyZzz
- 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
定义标识符,要尽量遵循“见其名知其意”的原则。
整型常量(常数)、实型常量(常数)
整数常量:例如5、-5、0、100、-123
实数常量:例如5.1、5.0、-10.02、2.5e+3( 2.5103)。
字符常量、字符串常量
字符常量:用英语符号的单引号括起来的单字符。
例如:‘A’、‘a’、‘B’、‘b’、‘1’、‘0’、'9‘
字符串常量:用英语符号的双引号括起来的。
例如:“中国”、“shandong123456”、" 1234"、“12+34=”、“a”
变量
变量的概念:
- 内存中的一个存储区域
- 该区域有自己的名称(变量名)和类型(数据类型)
- Java中每个变量必须先声明,后使用
- 该区域的数据可以在同一类型范围内不断变化
使用变量注意
- 变量的作用域:一对{ } 之间有效
- 初始化值
变量的声明与初始化:
数据类型 变量名 = 初始化值;例如:int i=1;
注意:
- 声明变量过程中的 = ,不是数学意义上的 = ,在Java编程中代表赋值。
- 变量定义时,必须指定变量的数据类型。
- ‘a’、“a” 、a三者的区别,'a’是字符常量,"a"是字符串常量,a是标识符。
double x,y,z;
是“变量声明”,就是在内存内给出存储空间,并为该空间命名一个名称(称为变量名)。
在该空间内存放数据,所存放的数据称为变量的值。
变量可以先声明,然后给变量提供值(赋值),也可以在变量定义的同时赋初始值。
赋值运算符: “=”,其语句格式:变量名=表达式;
(1)先声明再赋值
int x; //变量声明,定义变量x为整型变量
x=100; //对变量x赋值为100。
(2)在变量定义的同时赋初始值
语句格式:类型 标识符=常量,标识符=常量, … ,标识符=常量;
int sum = 0 ; //声明sum为整型变量,并且初始值为0
double taxRate = 0.06 ; //声明taxRate为实型变量,且值为0.06
char c = 'A' ; //声明c为字符型变量,且值为字符A
数据类型
在Java语言中,常量数据都有默认的数据类型:
(1)一般的整型常数默认为 int,例: 5 为 int类型
(2)一般的实型常数默认为 double 例:5.5 为 double 类型
(3)对于其他的整型和实型,需要添加一个类型标记
long: 在数据尾添加“L”或“l”,例:5l 或 5L
float: 在数据尾添加“F”或“f”,例:5.0F 或 5.0f
byte,short,char:直接给出整型数值,但不能超出其取值范围。
(4) char:也可以采用字符形式给出(单引号括起来)。
例如:char c1=‘a’;与 char c2=97; 两者等价
对于转义字符(’\字符符号’:一种表示字符的方式)的表示:
例如回车符:’\n’==13
(5) boolean: true 或 false
字符串变量的声明、初始化
字符串类型是一种引用数据类型,其类名称为String。
(1)字符串变量的声明
声明格式: String 标识符, 标识符, … , 标识符;
功能:声明字符串变量。注意,没有创建存储空间。
例如: String a,b,c; //声明3个字符串变量。
(2)字符串变量的初始化
第1种方式:先声明再赋值,例如:
String x; //声明变量x为字符串变量,没有提供初始值。
x="abcd123456"; //对变量x赋值为"abcd123456"。
第2种格式:在变量定义的同时赋初始值,例如:
String sum ="和值为:"; //声明sum,其赋值"和值为:"
String abc =null ; //声明abc,并赋值为null(空引用)。
String是引用类型,可以使用null作为值。
String s0 = "hello";
String s1 = "hello";
当出现上面这种情况,不会在内存中存在两个"hello",只存在一个"hello"。
假设hello的内存地址xxxxx,
声明s0变量时给s0赋值"hello",实际上是让s0变量引用"hello"的内存地址xxxxx;
当我们再声明s1也赋值"hello",实际上也是直接把"hello"的内存地址xxxxx给s1引用
字符串运算
(1)字符串的长度
字符串中含有字符的总个数,称为字符串的长度。
Java语言专门提供了求一个串长度的方法:length()
,
格式:
字符串变量.length()
或 字符串常量.length()
public class test {
public static void main(String[] args) {
int x="java语言".length();
System.out.println(x);
}
}
//输出为:6
(2)字符串中字符的索引位置
字符串中,每个字符有一个位置索引号,第一个字符的位置索引号为0,第2个字符的位置索引号为1,这样依次类推,直到最后一个字符。
Java 语言中提供了获取字符串中指定索引号位置的字符的方法:charAt(index)
,其中参数index
是字符索引位置号。
public class test {
public static void main(String[] args) {
String myStr="1234567890abcdef";
//得到该串的首字符,即数字符号'1'
char c1=myStr.charAt(0);
//得到该串的最后一个字符,即字母'f'
char c2=myStr.charAt(myStr.length()-1);
System.out.println(c1);
System.out.println(c2);
}
}
//输出为:1 f
(3)字符串内容比较
String类的equals()
方法用于比较两个字符串是否相等。
equals()方法的使用格式:
public boolean equals(String str)
public class test {
public static void main(String[] args) {
String s1, s2,s3;
s1 = "how are you";
s2 = "how are you";
s3 = "123how are you";
boolean b1=s1.equals(s2); // b1的值为true;
boolean b2=s1.equals(s3); //b2的值为false;
System.out.println(b1);
System.out.println(b2);
}
}
//输出为:true false
基本数据类型转换
数字类型从小到大分别是byte、short、int、long、float、double。
一个例子:
byte类型可以转换成int类型
而反过来的时候会报错
char类型的数据在与数字进行数学运算时,转换为相对应的ASCII码的值,再进行计算。
有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。如下例子只有res的类型为int时才不会报错。
当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。例子如下:
注意!!!
强制类型转换
强制类型转换的例子:转换的数据类型要用英文的小括号()括起来
数据的输入与输出
(1) 在JAVA语言中:
一般通过“键盘”输入所需要的信息(数据);
通过“显示器”显示(输出)运算结果。
(2) 通过键盘、显示器,输入/输出信息通常称为I/O控制台;
(3) 标准的输入/输出设备:
System.out 提供向“标准输出”写出数据的功能(显示器)
System.in 提供从“标准输入”读入数据的功能(键盘)
(4)注意:
System.in和System.out实际上就是java语言规定的键盘对象名和显示器对象名。
数据的输出—在显示器上输出信息
System.out 提供向“标准输出”写出数据的功能(显示器)
格式:
System.out.println(要输出信息形成的字符串);
或
System.out.print(要输出信息形成的字符串);
注意:
(1)print 与 println 功能类似,不同之处在于当显示完字符串之后,println会将光标移到下一行,但print不移到下一行(换行)。
(2) 要输出的信息中,对于数值型量,自动转换为字符串。
数据的输入 -----利用键盘,在程序运行时输入所需要的数据
3)创建键盘输入通道(对象)的格式:
Scanner sc=new Scanner(System.in);
(4)输入不同类型数据的方法:
注意: 一般情况下(除nextLine()),在输入数据时,用空格间隔各个数据。
案例1: 设计程序,实现任意输入两个整数,计算和值,并输出,其源代码。
import java.util.Scanner;
//以上是使用到创建“扫描器”对象时需要的资源,需要导入
public class test {
public static void main(String[] args) {
int x,y,z;
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一个整数,然后按回车键:");
x= sc.nextInt();
System.out.println("请输入第二个整数,然后按回车键:");
y=sc.nextInt();
z=x+y;
System.out.println("运算结果如下:");
System.out.println(x+"+"+y+"="+z);
}
}
案例2:通过键盘读入一行字符串,然后在显示器输出
1.使用方法next(),输出结果只能是输入的第一个字符串。例子如下:
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String s;
s=sc.next(); //输入一个字符串
System.out.println("刚输入的字符串是:"+s);
}
}
2.使用方法nextLine(),输出结果为输入的那一行。例子如下:
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String s;
s=sc.nextLine(); //读入一行
System.out.println("刚输入的字符串是:"+s);
}
}
符号常量的定义与使用
可以为常量命名,称为符号常量。
符号常量在使用前一定要首先声明(定义)。
定义常量使用关键字final来给常量分配名字、值和类型。
定义格式:
final 类型 常量名= 常量值;
例如:
final int N = 100; //定义后,在程序中出现N就是100。
final double PI=3.141; //定义后,在程序中的PI是3.14。
说明:
(1)习惯上使用大写字母定义符号常量。
(2)为常量命名,其实就是用一个符号(标识符)。在以后的运算中,直接使用该标识符常量即可。
系统JDK提供的数学类中函数的使用
Java中专门提供了进行数学运算的有关数学函数,所有的数学函数全部在一个类库(Math类)中。
对于Java语言,其Math类中定义的函数,都是静态函数,对于静态函数的使用,不需要创建对象,而是由类名称直接调用其所需要的函数。
在Java中,调用数学函数(调用方法),其使用格式:
Math.***** //(*****为方法名)。
例如:
int a=Math.abs(-124); //绝对值函数
double s=Math.sqrt(9); //平方根函数
数学类中常用的函数(方法)——— Math类方法
应用案例
(1)四舍五入问题:
问题: x=6546.456732元,如何形成x=6546.46元?
x= Math.round(x*100)/100.0
(2)随机方法的应用:
random()产生一个在0.0到1.0之间的双精度数随机数
问题:产生一个[100-200)之间的一个随即整数?
Math.round(Math.random()*(200-100))+100