Java基础学习day02

简介: 本教程涵盖Java基础语法,包括进制转换、数据类型、关键字与标识符、方法定义与调用、类型转换、输入输出、运算符等内容,适合初学者系统学习Java编程语言的核心概念与实践技巧。

Java学习day02

1.进制转换

  • 二进制与十进制
  • image.png
  • 二进制与八进制
  • image.png
  • 二进制与十六进制
  • image.png
  • Java程序中支持书写二进制、八进制、十六进制的数据,分别需要以0B或者0b、0、0X或者0x开头。

2.数据类型

  • 基本数据类型:四类八种
  • 整型(默认int):
  • byte:占用1个字节
  • short:占用2个字节
  • int:占用4个字节
  • long:占用8个字节
  • 浮点型(小数,默认double):
  • float:占用4个字节
  • double:占用8个字节
  • 字符型:
  • char:占用2个字节
  • 布尔型
  • boolean:占用1个字节

3.关键字、标识符

1.关键字

  • 定义:Java语言自己用的一些词汇,有特殊作用的,称之为关键字
  • image.png

2.标识符

  • 定义:标志符就是名字(如类名、变量名…都是标识符)。
  • image.png

4.方法

1.定义

  • 方法是一种用于执行特定任务或操作的代码块,代表一个功能,它可以接收数据进行处理,并返回一个处理后的结果。

2.定义格式

1.基础格式

定义方法:
修饰符    返回值类型    方法名( 形参列表 ){
    方法体;
}

调用方法:
方法名(数据);

例:
public static int add(int a, int b){
    return a + b;
}

add(1, 2);
  • 如果方法不需要返回数据,返回值类型必须声明称void(无返回值声明),方法体内不可以使用return返回数据。
  • 必须调用方法才可以执行方法。

2.方法的注意事项

  • 方法重载
  • 一个类中,出现多个方法的名称相同,但是它们的形参列表是不同的,那么这些方法就称为方法重载了。
  • 重载的条件:形参列表不同
  • 有哪些不同:
  • 参数数据类型
  • 参数数量
  • 参数顺序
  • 无返回值的方法中可以直接通过单独的return;立即结束当前方法的执行。

5.类型转换

1.自动类型转换

  • 类型范围小的变量,可以直接赋值给类型范围大的变量。
  • image.png
  • image.png

2.强制类型转换

  • 类型范围大的变量, 不可以直接赋值给类型范围小的变量,会报错,需要强制类型转换过去。
  • 数据类型   变量2  =   (数据类型)     变量1、数据;
byte b = 10;
printInt(b);    // 10

int c = 128;
byte c1 = (byte) c;
System.out.println(c1);  // -128

double d = 1.5;
int i = (int) d;
System.out.println(i);  //   1
  • 强制类型转换可能造成数据(丢失)溢出;浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。

3.表达式的自动类型提升

  • 在表达式中,小范围类型的变量,会自动转换成表达式中较大范围的类型,再参与运算。
  • 表达式的最终结果类型由表达式中的最高类型决定。
  • 在表达式中,byte、short、char 是直接转换成int类型参与运算的。  
public static double add(byte a, int b, double c) {
    return a + b + c;
}

public static int add(byte a, byte b) {
    return a + b;
}

public static byte add1(byte a, byte b) {
    return (byte) (a + b);
}

6.输入输出

1.输出

  • 把程序中的数据展示出来。
System.out.println("请输入您的姓名:");

2.输入

  • 程序读取用户键盘输入的数据。
  • 使用Scanner接收用户键盘输入的数据,需要三个步骤:
  • 导包:告诉程序去JDK的哪个包中找扫描器技术
  • 代表得到键盘扫描器对象(东西)。
  • 等待接收用户输入数据。
// 创建Scanner对象   扫描器对象
Scanner sc = new Scanner(System.in);

System.out.println("请输入您的姓名:");
String name = sc.next();

System.out.println("请输入您的年龄:");
int age = sc.nextInt();

System.out.println("接收到姓名为:" + name);
System.out.println("接收到年龄为:" + age);

7.运算符

1.算术运算符

  • image.png
  • +的特殊作用:
  • “+” 符号在有些情况下可以做连接符。
  • “+”符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串。
int a = 10;
int b = 20;
System.out.println(a + b);   // 30
System.out.println(a - b);   // -10
System.out.println(a * b);   // 200
System.out.println(a / b);   // 0
System.out.println(a % b);   // 10


System.out.println("=======================");
// + 作为连接符的使用
System.out.println("程序员" + 666);
System.out.println('a' + 10);

2.自增自减运算符

  • image.png
  • ++ 、-- 只能操作变量,不能操作字面量。
  • ++、-- 如果在变量前后单独使用是没有区别的。
  • ++、-- 如果不是单独使用(如在表达式中、或同时有其它操作),放在变量前后会存在明显区别:
  • 在变量的前面,先对变量+1、-1,再拿变量的值运算。  
int age = 20;
age++;
System.out.println(age); // 21

++age;
System.out.println(age); // 22

age--;
System.out.println(age); // 21

--age;
System.out.println(age); // 20
  • 在变量的后面,先拿变量的值运算,再对变量的值+1、-1  
int score = 100;
int result = ++score;
System.out.println(score); //101
System.out.println(result); //101

int score1 = 100;
int result1 = score1++;
System.out.println(score1); //101
System.out.println(result1); //100


int age1 = 20;
System.out.println(age1++); // 20
System.out.println(++age1); // 22

3.赋值运算符

  • 基本赋值运算符:
  • 就是“=”,从右边往左看。    
  • int a = 10;    先看“=”右边,把数据10赋值给左边的变量a存储。
  • 扩展赋值运算符 :
  • image.png
  • 扩展的赋值运算符隐含了强制类型转换。
// +=   加并赋值
int a = 10;
a += 5; // a = (int)a + 5;
System.out.println(a);

byte b1 = 2;
byte b2 = 3;
// byte b3 = b1 + b2;
b1 += b2; // b1 = b1 + b2
System.out.println(b1);

4.关系运算符、三元运算符

  • 关系运算符:
  • image.png
  • 判断数据是否满足条件,最终会返回一个判断的结果,这个结果是布尔类型的值:true或者false。
  • 三元运算符:
  • 格式:条件表达式 ?  值1 : 值2;
  • 执行流程:首先计算关系表达式的值,如果值为true,返回值1,如果为false,返回值2。
int a = 10;
int b = 20;
System.out.println(a > b);    // false
System.out.println(a >= b);   // false
System.out.println(a < b);    // true
System.out.println(a <= b);   // true
System.out.println(a == b);   // false
System.out.println(a != b);   // true

double score = 60;
System.out.println(score >= 60 ? "及格" : "不及格");

5.逻辑运算符

  • image.png
// 逻辑与   逻辑或
System.out.println(2 > 1 & 2 > 3);  //false
System.out.println(2 > 1 | 2 > 3);  // true

// 取反
System.out.println(!(2 > 3));       // true
// 异或   前后结果相同返回false,不同返回true
System.out.println(2 > 1 ^ 2 > 3);  // true


System.out.println("===========================");
// 短路与   短路或
System.out.println(2 > 1 && 2 > 3); //false
System.out.println(2 > 1 || 2 > 3); // true

int a = 0;
int b = 0;
System.out.println(a < 0 && ++b > 0);
System.out.println(b);
相关文章
|
6天前
|
人工智能 运维 安全
|
4天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
522 14
|
11天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
891 109
|
5天前
|
人工智能 测试技术 API
智能体(AI Agent)搭建全攻略:从概念到实践的终极指南
在人工智能浪潮中,智能体(AI Agent)正成为变革性技术。它们具备自主决策、环境感知、任务执行等能力,广泛应用于日常任务与商业流程。本文详解智能体概念、架构及七步搭建指南,助你打造专属智能体,迎接智能自动化新时代。