java之实战篇章:一java基础上

08月19日 收藏 0 评论 1 java开发

java之实战篇章:一java基础上

文章申明:转载来源:https://blog.csdn.net/rs_gis/article/details/121686035

一、第一个java程序,了解java

//定义一个learn1的类,这个类必须和j源代码文件名相同。
public class learn1 {
//static 静态的 属于类的方法 即访问它不需要实例对象就能访问, void 即这个方法没有返回值
public static void main(String[] args){ //main方法是程序的入口
System.out.println("HelloWorld!");
}
}

由于我是使用编译器写的,写完以后在对应目录下回生成一个.class文件,该文件表示代码已经经过编译,运行程序方式如下:

二、变量

java中变量需要先声明

int a = 1;
public class VarTest{
public static void main (String[] args){
int a = 5;
System.out.println(a);
}
}

三、常量

常量的值是不能被修改的。Java 中的 final 关键字可以用于声明属性(常量),方法和类。

当 final 修饰属性时,代表该属性一旦被分配内存空间就必须初始化,它的含义是“这是无法改变的”或者“终态的”。在变量前面添加关键字 final 即可声明一个常量。在 Java 编码规范中,要求常量名必须大写。

final double PI = 3.141592652;
final double PI;
PI = 3.141592652;
public class FinalVar{
public static void main(String[] args){
final String THE_STRING = "shiyanlou";
System.out.println(THE_STRING);
}
}

四、数据类型

java中一共八种数据类型

整数
byte、short、int、long 四种基本数据类型表示整数,需要注意的是 long 类型,使用 long 修饰的变量需要在数值后面加上 L 或者 l,比如 long num = 1L;,一般使用大写 L,为了避免小写 l 与数值 1 混淆。

浮点数
float 和 double 类型表示浮点数,即可以表示小数部分。需要注意的是 float 类型的数值后面需要加上 F 或者 f,否则会被当成 double 类型处理。double 类型的数值可以加上 D 或 d,也可以不加。

char 类型
char 类型用于表示单个字符。需要将字符用单引号括起来char a = ‘a’,char 可以和整数互相转换,如果字符 a 也可以写成char a = 97。也可以用十六进制表示char a = ‘\u0061’。

boolean 类型
boolean类型(布尔类型)用于表示真值 true或者假值 false,Java 中布尔值不能和整数类型或者其它类型互相转换

String
字符串是常量,它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。

String s0 = "abc";

String s1 = new String("abd");

两种不同方式的比较

1、计算字符串长度

int len0 = s0.length();
int len1 = s1.length();

2、equals()和==之间的比较

字符串比较
equals() 方法,该方法的作用是判断两个字符串对象的内容是否相同。如果相同则返回 true,否则返回 false。

如果想忽略大小写关系,则可以用equalsIgnoreCase()方法

==方法:该方法比较的是连个对象在内存中存储的地址是否一样、

String s1 = "abc";
String s2 = new String("abc");
boolean b = (s1 == s2);

变量 b 的值是 false,因为 s1 对象对应的地址是 “abc” 的地址,而 s2 使用 new 关键字申请新的内存,所以内存地址和 s1 的 “abc” 的地址不一样,所以获得的值是 false。

3、字符串连接

字符串连接有两种方法
1、使用+
2、使用concat()方法

String s0 = "HelloWorld";
String s1 = "!!!";
String s2 = s0 + s1;
String s3 = s0.concat(s1);
System.out.println(s2);
System.out.println(s3);
public class StringBuilderTest {
public static void main(String[] args){
StringBuilder s1 = new StringBuilder();
s1.append("java");
StringBuilder s2 = new StringBuilder(5);
StringBuilder s3 = new StringBuilder("shiyanlou");
System.out.println("s1:" + s1.toString() + "\tcap:" + s1.capacity());
System.out.println("s2:" + s2.toString() + "\tcap:" + s2.capacity());
System.out.println("s3:" + s3.toString() + "\tcap:" + s3.capacity());
}
}

StringBuilder

String 是无法被修改的,对 String 的修改,其实是新建了一个 String 对象。如果需要修改字符串的内容,可以使用 StringBuilder。它相当于一个存储字符的容器。
StringBuilder的初始化方法

# 构造一个不包含任何字符且初始容量为 16 的 StringBuilder
StringBuilder a = new StringBuilder();

# 构造一个不包含任何字符且容量为 cap 的 StringBuilder
StringBuilder b = new StringBuilder(int cap);
# 构造一个 StringBuilder,内容初始化为 str
StringBuilder c = new StringBuilder(String str);

五、运算符

算数运算符

位运算符
Java 定义了位运算符,应用于整数类型 (int),长整型 (long),短整型 (short),字符型 (char),和字节型 (byte) 等类型。位运算时先转换为二进制,再按位运算。
表格中的例子中,变量 a 的值为 60(二进制:00111100),变量 b 的值为 13(二进制:00001101):

public class BitOperation {
public static void main(String args[]) {
int a = 60;
int b = 13;
System.out.println("a & b = " + (a & b));
System.out.println("a | b = " + (a | b));
System.out.println("a ^ b = " + (a ^ b));
System.out.println("~a = " + (~a));
System.out.println("a << 2 = " + (a << 2));
System.out.println("a >> 2 = " + (a >> 2));
System.out.println("a >>> 2 = " + (a >>> 2));
}
}

逻辑运算符

逻辑运算符是通过运算符将操作数或等式进行逻辑判断的语句。
表格中的例子中,假设布尔变量 a 为真(true),变量 b 为假(false):

public class LogicOperation {
public static void main(String args[]) {
boolean a = true;
boolean b = false;
System.out.println("a && b = " + (a && b));
System.out.println("a || b = " + (a || b));
System.out.println("!a = " + (!a));
System.out.println("a ^ b = " + (a ^ b));
}
}

关系运算符

关系运算符生成的是一个 boolean(布尔)结果,它们计算的是操作数的值之间的关系。如果关系是真实的,结果为 true(真),否则,结果为 false(假)。

表格中的例子中,假设变量 a 为 3,变量 b 为 5:

public class RelationalOperation {
public static void main(String args[]) {
int a = 3;
int b = 5;
System.out.println("a == b = " + (a == b));
System.out.println("a != b = " + (a != b));
System.out.println("a > b = " + (a > b));
System.out.println("a < b = " + (a < b));
System.out.println("a >= b = " + (a >= b));
System.out.println("a <= b = " + (a <= b));
System.out.println("a > b ? a : b = " + (a > b ? a : b));
}
}

符号运算优先级

六、小练习

计算两数的和

//Scanner 类可以获取控制台输入的内容,但是需要先导入
import java.util.Scanner;
//获取输入的值
public class Sum{
public static void main(String[] args){
int x, y, sum;
System.out.println("输入:");
Scanner myObj = new Scanner(System.in);
x = myObj.nextInt();
y = myObj.nextInt();

sum = x + y;
System.out.println("输出");
System.out.println(sum);

七、java关键字和语句

Java 的关键字对 Java 的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名。

Java 关键字有如下表所列,目前共有 50 个 Java 关键字,其中,“const” 和 “goto” 这两个关键字在 Java 语言中并没有具体含义。

八、java中的方法

public void functionName(Object arg) {
System.out.println("Hello World.");
}

在上面的语法说明中:

1访问修饰符:
代表方法允许被访问的权限范围, 可以是 public、protected、private 或者省略(default) ,其中 public 表示该方法可以被其他任何代码调用。

2返回值类型:
方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void (代表无类型);如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用return语句返回值。

3方法名:
是方法的名字,必须使用合法的标识符。

4参数列表:
是传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。

5方法体:
方法体包含具体的语句,定义该方法的功能。

根据方法是否带参、是否带返回值,可将方法分为四类:

无参无返回值方法
无参带返回值方法
带参无返回值方法
带参带返回值方法

public class MethodDemo{
public static void main(String[] args){
method();
}
//这里要加上 static 关键字 因为静态方法只能调用静态方法
public static void method(){
System.out.println("方法被调用");
}
}
C 1条回复 评论
埃蒙迷路患者

学习学习学习

发表于 2022-12-02 22:00:00
0 0