首页 > 编程语言 >Java基础

Java基础

时间:2025-01-15 11:32:42浏览次数:1  
标签:false 基础 System 运算符 println Java true out

注释

在Java里注释有三种:单行注释、多行注释、文档注释

单行注释: // 注释内容
    注意:Java里关于单行注释有一个快捷键:ctrl + L
    
多行注释: /* 注释内容 */
    
文档注释: /** 注释内容 */

关键字

java中的关键字就是被赋予特殊含义的字

# 48个关键字
abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while
    
# 2个保留字(现在没用以后可能用到作为关键字)
goto、const
    
# 3个特殊直接量
true、false、null

标识符

标识符,我们自己定义的方法名或者变量名等等都叫标识符。

标识符的命名规则:

  • 不可以数字开头
  • 由字母、数字、下划线和$组成
  • 不可以是关键字、保留字,但可以包含关键字与保留字
  • 不可以包含空格

标识符的命名规范:

  • 对于变量名、方法名等【小驼峰命名法】

    • 如果是单个单词,全部小写
    • 如果是多个单词,第一个单词全部小写,从第二个开始,每个单词的首字母大写
  • 对于类名、接口名等【大驼峰命名法】

    • 如果是单个单词,首字母大写
    • 如果是多个单词,每个单词的首字母大写
  • 对于包名

    • 所有单词全部小写
  • 对于常量名

    • 所有单词全部大写,多个单词之间用下划线连接

变量

顾名思义,变量就是可以发生改变的量

# 格式:数据类型 变量名 = 变量值;

数据类型

在Java中,数据类型分为两大类:基本数据类型、引用数据类型。

基本数据类型有4类8种:

  • 整型:byte、short、int、long
  • 浮点型:float、double
  • 布尔型:boolean
  • 字符型:char

引用数据类型【列举常见的三种】:

    • String
    • 其他类
    • 自定义类
  • 数组
  • 接口

常用变量示例:

// 整型变量【①:整型默认是int;②:声明long类型的数据时,需要在末尾加L或者l,以此表示这是long类型的数据】
byte b = 7;
short s = 7;
int i = 7;
long l = 7L;
// 浮点型【①:浮点型默认是double;②:声明float类型时,需要在末尾加上F或者f,以此表示这是float类型的数据】
float f = 5.20F;
double d = 5.20;
// 布尔型【布尔型的值只有两种:true 和 false】
boolean b = true;
boolean b = false;
// 字符型【字符型由一对单引号引起来,且里面有且只能有一个字符】
char c = 'a';
char c = '国';
// 字符串类型String【由一对双引号引起来,这是引用类型数据】
String s = "hello";

类型转换

类型转换分为两类:自动类型提升、强制类型转换

  • 自动类型提升:小范围提升成大范围,低精度提升成高精度

例如: byte b = 7;int i = b;【这里的b赋值给i的过程发生了自动类型提升】

  • 强制类型转换 -> 格式:目标类型 变量名 = (目标类型)变量值

    // 注意:强制数据类型转换可能会由精度损失
    int i = 1234;
    byte b = (byte)i;
    

输出与交互输入

输出

System.out.println(); // 换行输出
System.out.print(); // 不换行输出

示例:
public class exer {
    public static void main(String[] args) {
        int i = 7;
        System.out.println(i);
        System.out.print("=========");
        System.out.println(7);
    }
}
结果如下:
7
=========7

输入

import java.util.Scanner;//导入Scanner这个类

public class exer {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);//固定写法
        System.out.print("请输入一个整数:");
        int i = scanner.nextInt();
        System.out.println(i);
    }
}
结果如下:
请输入一个整数:7
7

关于输入内容的类型:

byte b = scanner.nextByte(); // 接收byte类型的数据
short s = scanner.nextShort(); // 接收short类型的数据
int i = scanner.nextInt(); // 接收int类型的数据
long l = scanner.nextLong(); // 接收long类型的数据
float f = scanner.nextFloat(); // 接收float类型的数据
double d = scanner.nextDouble(); // 接收double类型的数据
boolean b = scanner.nextBoolean(); // 接收boolean类型的数据
String s = scanner.next() // 接收String类型的数据

输入内容的判断

与前面输入内容类型与之相对应,可以判断输入的是否是我们需要的而类型:scanner.hasNextXxx();

其余的判断可以仿照下面这样写:

import java.util.Scanner;

public class exer1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个整数:");
        if (scanner.hasNextInt()){
            System.out.println(scanner.nextInt());
        }else {
            System.out.println("不是整数");
        }
    }
}

运算符

运算符分为:算术运算符、赋值运算符、逻辑运算符、位运算符、比较运算符、条件运算符。

算术运算符

运算符 解释与示例 结果
+【数值运算】 System.out.println(7+3); 10
- System.out.println(7-3); 4
* System.out.println(7*3); 21
/ System.out.println(7/3);【整除运算】 2
% System.out.println(7%3);【取余运算】 1
++ int i = 1;
System.out.println(i++);【先运算,再自增1】
System.out.println(++i);【先自增1,再运算】

1
3
-- int i = 3;
System.out.println(i--);
System.out.println(--i);

3
1
+【字符串运算】 System.out.println("hello" + 7);【拼接运算,只要有字符串参与运算,结果一定是字符串】 hello7

赋值运算符

  • 符号:=

    • 当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
    • 支持连续赋值
  • 扩展赋值运算符【这类赋值运算符有强制类型转换的效果】: +=、 -=、*=、 /=、%=

    赋值运算符 符号解释
    += 将符号左边的值右边的值进行相加操作,最后将结果赋值给左边的变量
    -= 将符号左边的值右边的值进行相减操作,最后将结果赋值给左边的变量
    *= 将符号左边的值右边的值进行相乘操作,最后将结果赋值给左边的变量
    /= 将符号左边的值右边的值进行相除操作,最后将结果赋值给左边的变量
    %= 将符号左边的值右边的值进行取余操作,最后将结果赋值给左边的变量

逻辑运算符

a b a&b a&&b a|b a||b !a a^b
true true true true true true false false
true false false false true true false true
false true false false true true true true
false false false false false false true false

注意事项:

  • ! :表示"非"关系,当变量布尔值为true时,结果为false。当变量布尔值为false时,结果为true。

  • ^ :当符号左右两边布尔值不同时,结果为true。当两边布尔值相同时,结果为false。【可以理解为异或】

  • 逻辑运算符,操作的都是boolean类型的变量或常量,而且运算得结果也是boolean类型的值。

  • ||与|的区别

    • 相同点:如果符号左边是false,则二者都执行符号右边的操作

    • 不同点:| : 如果符号左边是true,则继续执行符号右边的操作

      ​ || :如果符号左边是true,则不再继续执行符号右边的操作

  • &&与&的区别:

    • 相同点:如果符号左边是true,则二者都执行符号右边的操作

    • 不同点:& : 如果符号左边是false,则继续执行符号右边的操作

      ​ && :如果符号左边是false,则不再继续执行符号右边的操作

  • 开发中如果涉及到&&、&、||、|,建议使用&&与||

比较运算符

运算符 运算 示例 结果
== 相等于 7==3 false
!= 不等于 7!=3 true
< 小于 7<3 false
> 大于 7>3 true
<= 小于等于 7<=3 false
>= 大于等于 7>=3 true
instanceof 检查是否是类的对象 "hello" instanceof String true

位运算符

位运算是用二进制码进行运算,且是补码。原码各位取反之后成为反码,反码加1是补码。【正数三码相同】

运算符 运算 示例
<< 左移 3<<2 = 12 等价于 3 * 2 * 2 = 12
>> 右移 3>>1 = 1 等价于 3 / 2 = 1
>>> 无符号右移 3>>>1 = 1 等价于 3 / 2 = 1
& 与运算 6&3 = 2
| 或运算 6|3 = 7
^ 异或运算 6^3 = 5
~ 取反运算 ~6 = -7

运算细节

<< 空位补0,被移除的高位丢弃,空缺位补0
>> 被移位的二进制最高位是0,右移后,空缺位补0;
最高位是1,空缺位补1。
>>> 被移位的二进制做高位无论是0还是1,空缺位都用0补。
& 二进制进行&运算,只有1&1时结果是1,否则是0。
| 二进制进行|运算,只有0|0时结果是1,否则是1。
^ 相同二进制为进行^运算,结果是0,不同则1。
~ 二进制的补码各位取反

条件运算符

格式:(条件表达式)? 表达式1:表达式2
【条件表达式为真则执行表达式1,否则执行表达式2】

标签:false,基础,System,运算符,println,Java,true,out
From: https://www.cnblogs.com/ajnq-fz/p/18672706

相关文章

  • CISP是什么?零基础入门到精通,收藏这篇就够了_注册信息安全专业人员(cisp)
    CISP是什么?注册信息安全专业人员(CertifiedInformationSecurityProfessional,简称“CISP"),中国信息安全测评中心依据中编办赋予的职能,建立和发展的一整套完整的信息安全保障人才培训体系。CISP证书是国家对信息安全专业人员能力的最高认可。CISP培训对象为信息安全企业、......
  • 【网络安全渗透测试零基础入门】一文带你0基础挖到逻辑漏洞(非常详细),轻松成为朋友眼中
    前言这是七海给粉丝盆友们整理的网络安全渗透测试入门阶段逻辑漏洞渗透与防御教程本文主要讲解如何从零基础带你挖到逻辑漏洞喜欢的朋友们,记得给我点赞支持和收藏一下,关注我,学习黑客技术。逻辑漏洞概述由于程序逻辑不严谨或逻辑太过复杂,导致一些逻辑分支不能正常处理或......
  • 东软云医院HIS系统【Swing窗口+MySQL】(Java课设)
        客官进来看一眼呗,有惊喜!【帮你解决烦恼】:Java课设和计Java毕设太难不会做怎么办?系统类型Swing窗口类型+Mysql数据库存储数据使用范围适合作为Java课设!!!部署环境jdk1.8+Mysql8.0+Idea或eclipse+jdbc运行效果本系统源码地址:东软云医院HIS系统【Swing窗口+MySQL】......
  • 物流管理系统【纯GUI窗口】(Java课设)
         客官进来看一眼呗,有惊喜!【帮你解决烦恼】:Java课设和计Java毕设太难不会做怎么办?系统类型纯Swing窗口类型【GUI】(即数据存在内存中,不用IO流和数据库存储数据)使用范围适合作为Java课设!!!部署环境jdk1.8+Idea或eclipse运行效果本系统源码地址:物流管理系统【纯GU......
  • 实现网页倒计时跳转的JavaScript代码
    在网页开发中,倒计时跳转功能常用于广告页面、活动倒计时或页面跳转提示等场景。下面是一个简单的JavaScript实现,用于在指定时间后自动跳转到另一个页面。该代码会在页面上显示倒计时,并在倒计时结束后跳转到指定的URL。代码实现<spanclass="time"></span><script>var......
  • 科普文:算法和数据结构系列【压缩和通信利器:哈夫曼树(Huffman Tree)java示例代码解读】
    概叙科普文:算法和数据结构系列【算法和数据结构概叙】-CSDN博客科普文:算法和数据结构系列【非线性数据结构:树Tree和堆Heap的原理、应用、以及java实现】-CSDN博客科普文:算法和数据结构系列【树:4叉树、N叉树】-CSDN博客科普文:算法和数据结构系列【二叉树总结-上篇:满二叉树、......
  • 【程序猿面试真题——计算机基础知识和编程】如何寻找二次曲线(离散的点连成的)的最小值
    【程序猿面试真题——计算机基础知识和编程】如何寻找二次曲线(离散的点连成的)的最小值?【程序猿面试真题——计算机基础知识和编程】如何寻找二次曲线(离散的点连成的)的最小值?文章目录【程序猿面试真题——计算机基础知识和编程】如何寻找二次曲线(离散的点连成的)的最小......
  • JAVA的简单理解
    JAVA语法基础JAVA中语法中类与对象的体现在java中,认为万事万物皆为对象,这里类比C/C++,进行简单的区别与分析。在C/C++中,往往使用头文件<stdio.h>等标准输入输出函数来控制简单的人机交互,而在java中,人机交互的输入方式,则是用类进行包装。例如Scannersc=newScanner(System.in)......
  • 浅谈Java之进程锁
    一、基本介绍在Java中,进程锁通常是指在多进程环境下,用于协调不同进程对共享资源访问的锁机制。由于Java本身主要是面向多线程编程设计的,它没有内置的进程锁概念。不过,我们可以通过一些外部机制或者特定的库来实现进程锁。二、关键点一、死锁预防定义死锁是指两个或多......
  • a标签下的href="javascript:void(0)"起到了什么作用?说说你对javascript:void(0)的理解
    在前端开发中,a标签通常用于创建链接,其href属性指定了链接的目标地址。然而,有时我们可能希望创建一个看起来像链接的元素,但实际上并不导航到任何其他页面或重新加载当前页面。这时,href="javascript:void(0)"就派上了用场。javascript:void(0)的作用主要是阻止链接的默认行为......