Java学习之路001——基础语法以及IDEA的基本使用(中)

简介: 默认转换(从小的数据类型到大的数据类型)• byte,short,char-int-long-float-double• byte,short,char相互之间不转换,它们参与运算首先转换为int

4.2.5 数据类型的转换

4.2.5.1 默认转换(从小的数据类型到大的数据类型)

  • byte,short,char-int-long-float-double
  • byte,short,char相互之间不转换,它们参与运算首先转换为int

4.2.5.2 强制转换(从大的数据类型到小的数据类型)

格式: 目标数据类型 变量 = (目标数据类型)被转换的数据

网络异常,图片无法展示
|

五、运算符

5.1 算术运算符

操作符 描述 例子
+ 加法 - 相加运算符两侧的值 A + B 等于 30
- 减法 - 左操作数减去右操作数 A – B 等于 -10
* 乘法 - 相乘操作符两侧的值 A * B等于200
/ 取商 除法 - 左操作数除以右操作数 B / A等于2
% 取余数 取余 - 左操作数除以右操作数的余数 B%A等于0
++ 自增: 操作数的值增加1 B++ 或 ++B 等于 21
-- 自减: 操作数的值减少1 B-- 或 --B 等于 19

5.2 赋值运算符

操作符 描述 例子
= 简单的赋值运算符,将右操作数的值赋给左侧操作数 C = A + B将把A + B得到的值赋给C
+ = 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 C + = A等价于C = C + A
- = 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 C - = A等价于C = C - A
* = 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 C * = A等价于C = C * A
/ = 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 C / = A,C 与 A 同类型时等价于 C = C / A
(%)= 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 C%= A等价于C = C%A
<< = 左移位赋值运算符 C << = 2等价于C = C << 2
>> = 右移位赋值运算符 C >> = 2等价于C = C >> 2
&= 按位与赋值运算符 C&= 2等价于C = C&2
^ = 按位异或赋值操作符 C ^ = 2等价于C = C ^ 2
 = 按位或赋值操作符  = 2等价于C = C   2

5.3 比较运算符 (true 代表真,false 代表假)

运算符 描述 例子
== 检查如果两个操作数的值是否相等,如果相等则条件为真。 (A == B)为假。
!= 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 (A != B) 为真。
检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 (A> B)为假。
< 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 (A <B)为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 (A> = B)为假。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 (A <= B)为真。

5.4 逻辑运算符

操作符 描述 例子
&& 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 (A && B)为假。
  称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 (A     B)为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 !(A && B)为真。

5.5 位运算符

操作符 描述 例子
如果相对应位都是1,则结果为1,否则为0 (A&B),得到12,即0000 1100
如果相对应位都是 0,则结果为 0,否则为 1 (A   B)得到61,即 0011 1101
如果相对应位值相同,则结果为0,否则为1 (A ^ B)得到49,即 0011 0001
按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 (〜A)得到-61,即1100 0011
<< 按位左移运算符。左操作数按位左移右操作数指定的位数。 A << 2得到240,即 1111 0000
>> 按位右移运算符。左操作数按位右移右操作数指定的位数。 A >> 2得到15即 1111
>>> 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 A>>>2得到15即0000 1111

网络异常,图片无法展示
|

网络异常,图片无法展示
|

5.6 三目运算符

  • 格式 (关系表达式)?表达式1:表达式2;
  • 如果条件为true,运算后的结果是表达式1;
  • 如果条件为false,运算后的结果是表达式2;

5.6.2 接收键盘输入数据

  • 导入Scanner包 import java.util.Scanner;
  • 创建对象 Scanner scanner = new Scanner(System.in);
  • 接收数据: int data = scanner.netInt();

5.7 配套源码

Arithmetic.java

public class Arithmetic {
    public static void main(String[] args) {
      int num1 = 10;
  int num2 = 20;
  ///////////////////////// 算术运算符 /////////////////////
  System.out.println("num1 + num2 = "+ (num1 + num2));
  System.out.println("num1 - num2 = "+ (num1 - num2));
  System.out.println("num1 * num2 = "+ (num1 * num2));
  System.out.println("num1 / num2 = "+ (num1 / num2));
  System.out.println("num1 % num2 = "+ (num1 % num2));
  // ++ 在变量的前面,先计算结果后再输出
  // ++ 在变量的后面,先输出在计算
  System.out.println("num1++ = "+ (num1++)); // 10
  System.out.println("++num1 = "+ (++num1)); // 12
  // -- 在变量的前面,先计算结果后再输出
  // -- 在变量的后面,先输出在计算
  System.out.println("num2-- = "+ (num2--)); // 20
  System.out.println("--num2 = "+ (--num2)); // 18
  ///////////////////////// 赋值运算符 /////////////////////
  // 赋值符:"="
  int num3 = 25;
  System.out.println("num3+=4 =>"+(num3=num3+4)); // 29
  System.out.println("num3 -=10 =>"+(num3=num3-10)); // 19
  System.out.println("num3 *=2 =>"+(num3=num3*2)); // 38
  System.out.println("num3 /=4 =>"+(num3=num3/4)); // 9
  System.out.println("num3 %=2 =>"+(num3=num3%2)); // 1
  System.out.println("num3 <<= 2 =>"+(num3=num3 << 2)); // 0001 => 0100 => 4
  System.out.println("num3 >>= 2 =>"+(num3=num3 >> 2)); // 0100 => 0001 => 1
  ///////////////////////// 比较运算符 /////////////////////
  num1 = 60;
  num2 = 60;
  System.out.println("num1="+num1 + ", num2 =" + num2);
  System.out.println("num1 == num2 =>" +(num1 == num2));
  System.out.println("num1 != num2 =>" +(num1 != num2));
  System.out.println("num1 > num2 =>" +(num1 > num2));
  System.out.println("num1 < num2 =>" +(num1 < num2));
  System.out.println("num1 >= num2 =>" +(num1 >= num2));
  System.out.println("num1 <= num2 =>" +(num1 <= num2));
  ///////////////////////// 逻辑运算符 /////////////////////
  // 总结:
  // 1、逻辑与: && 连接的每一个比较运算结果为true,结果才是真(true)
  // 2、逻辑或: || 连接的每一个比较运算的结果中有一个为true,结果就是真(true)
  // 3、逻辑非:  ! 将整过比较运算的结果取反,就是运算结果为false,取反就是真(true)
  System.out.println("num1 <= num2  && num1 < num2=>" +(num1 <= num2  && num1 < num2));
  System.out.println("num1 <= num2  || num1 < num2=>" +(num1 <= num2  || num1 < num2));
  System.out.println("num1 <= num2  && num1 < num2=>" +(!(num1 <= num2  && num1 < num2)));
  /////////////////////////// 位移运算 ////////////////////////
  // &: 相对应位数为1,才为1,否则就是0
  //  | : 相对应位数是0才为0,否则都是1
  // ^: 相对应位数是 0 1 或者 1 0 才是1,否则就是0
  // ~: 对应位数的0变1,1变0
  // <<: 向左移动实际就是在原有的数基础上乘以2多次幂的倍数, 7 << 3 => 7x 2 ^ 3 = 56
  // >>: 向右移动实际就是在原理数的基础上除以2多少次幂的倍数 7 / (2^2) = 1
  // >>>: 最高位的符号位,0表示正数,1代表负数,
  // >>   1000 1111   => 1000 0011
  // >>> 1000 1111 =>   0010 0011
  int a = 5;
  int b = 7;
  int c = -9;
  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("b << 3=>" +(b << 3));
  System.out.println("b  >> 2=>" +(b >> 2));
  System.out.println("c >>> 2=>" +(c >>> 2));
  ////////////////// 三目运算符 /////////////////////////
  a = 10;
  System.out.println(a > 5 ? "a大于5" :"a小于5");
    }
}
复制代码

六、IDEA入门

6.1 使用IDEA新建一个项目

初始状态下,直接选择新建项目。

网络异常,图片无法展示
|

或者如果显示的不一样,可以在左上角进入创建项目。

网络异常,图片无法展示
|

网络异常,图片无法展示
|

6.2 使用IDEA新建一个Java代码文件

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

6.3 在IDEA内编写代码

网络异常,图片无法展示
|

6.4 在IDEA上编译执行程序

第一种:

网络异常,图片无法展示
|

第二种:

网络异常,图片无法展示
|

执行结果:

网络异常,图片无法展示
|


作者:Wesky2023

链接:https://juejin.cn/post/7200982129474682917

来源:稀土掘金

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

目录
相关文章
|
9天前
|
Java
Java基础学习day08-作业
本作业涵盖Java中Lambda表达式的应用,包括Runnable与Comparator接口的简化实现、自定义函数式接口NumberProcessor进行加减乘及最大值操作,以及通过IntProcessor处理整数数组,实现遍历、平方和奇偶判断等功能,强化函数式编程实践。
36 5
|
9天前
|
Java API 容器
Java基础学习day08-2
本节讲解Java方法引用与常用API,包括静态、实例、特定类型方法及构造器引用的格式与使用场景,并结合代码示例深入解析。同时介绍String和ArrayList的核心方法及其实际应用。
55 1
|
18天前
|
存储 SQL NoSQL
Redis-常用语法以及java互联实践案例
本文详细介绍了Redis的数据结构、常用命令及其Java客户端的使用,涵盖String、Hash、List、Set、SortedSet等数据类型及操作,同时提供了Jedis和Spring Boot Data Redis的实战示例,帮助开发者快速掌握Redis在实际项目中的应用。
174 1
Redis-常用语法以及java互联实践案例
|
10天前
|
Java 程序员
Java基础学习day08
本节讲解Java中的代码块(静态与实例)及其作用,深入介绍内部类(成员、静态、局部及匿名)的定义与使用,并引入函数式编程思想,重点阐述Lambda表达式及其在简化匿名内部类中的应用。
91 5
|
7天前
|
Java
Java基础语法与面向对象
重载(Overload)指同一类中方法名相同、参数列表不同,与返回值无关;重写(Override)指子类重新实现父类方法,方法名和参数列表必须相同,返回类型兼容。重载发生在同类,重写发生在继承关系中。
55 1
|
10天前
|
Java
Java基础学习day07-作业
本作业包含六个Java编程案例:1)动物类继承与多态;2)加油卡支付系统;3)员工管理类设计;4)学生信息统计接口;5)USB设备控制;6)家电智能控制。综合运用抽象类、接口、继承、多态等面向对象技术,强化Java基础编程能力。
110 3
|
10天前
|
Java
Java基础学习day06-作业
本内容为Java基础学习作业,涵盖两个案例:一是通过Card类及其子类GoldenCard、SilverCard实现加油卡系统,体现封装与继承;二是通过Shape类及子类Circle、Rectangle演示多态与方法重写,强化面向对象编程理解。
36 1
|
10天前
|
设计模式 存储 Java
Java基础学习day07
本节讲解Java中的final关键字、单例设计模式、枚举类、抽象类与接口。涵盖常量定义、单例写法(饿汉式/懒汉式)、枚举特点及应用场景,以及抽象类与接口的使用与区别,助力掌握核心面向对象编程思想。
69 1
|
18天前
|
算法 Java
Java基础学习day03-作业
本内容包含多个Java编程案例,涵盖条件判断、循环、数组、随机数生成、素数判断等基础算法练习,适用于巩固Java语法与逻辑思维训练。
85 6
|
15天前
|
Java
Java基础学习day05-作业
本文为Java基础学习第五天作业,通过五个案例练习类与对象的定义、构造方法、set/get方法及成员方法的应用。涵盖女友、学生、教师、手机和电影等类的设计与测试,强化面向对象编程基础。
47 2

热门文章

最新文章