首页 > 编程语言 >Java的概述

Java的概述

时间:2025-01-15 16:22:12浏览次数:1  
标签:语句 循环体 Java 运算符 while 循环 概述

Java的概述

Java语言的特点

简单性 解释性

面向对象 高性能面向对象 高性能

分布式处理 多线程
健壮性 动态
结构中立 安全性
开源
跨平台

什么是跨平台性?
通过Java语言编写的应用程序在不同的系统平台上都可以运行。
原理是什么?
只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。

由JVM来负责Java程序在该系统中的运行

写一个最简单的Java程序
class helloworld
    public static void main(String[] args){
    System.out.printline("helloworld")
    
}

Java的注释

注释的定义

用于程序运行过程中,用于解释说明的文字

三种

  • 单行注释:// 要说明的文字
  • 多行注释:/* 要说明的文字 */
  • 文档注册:/** 要说明的文字 */

注释的好处:

  • 帮助我们去理解代码
  • 是排错的一种手段

Java的关键字

关键字:被java语言赋予特殊含义的单词,一般都是小写字母与构成

  • 标识符:凡是可以自己命名的地方,都是标识符。比如:类名,变量名,方法名,包名,等。

    给标识符起名的统一规范:

    • 由英文大小写与数字构成
    • 可以由下划线和$特殊符号组成

    给标识符起名的注意事项:

    • 不能是数字开头
    • 不能与java中的关键字同名
    • 不能除_和$以外的特殊字符出现
    • 要见名知意

    常见的命名场景:

    • 类或接口
      • 一个单词:首字母大写,其余字符小写 举例:Student
      • 多个单词:每个单词首字母大写,其余字母都是小写 举例:HighStudent
    • 方法和变量
      • 一个单词:单词全部小写
      • 多个单词:第一个单词全部小写,从第二个单词开始,首字母大写其余字母小写 举例:playGame()
    • 常量
      • 一个单词:单词全部大写 举例:NAME
      • 多个单词:单词全部大写,单词之间使用下划线连接 举例:FIRST_NAME

常量

常量:在java程序允许过程中,其值不可以发生改变的量

分类:
  • 字面常量
    • 整数常量. 所有的整数本身就是一个常量
    • 小数常量. 所有小数
    • 字符常量. 有一个单引号括起来的单个字符
    • 布尔常量. true false
    • 空常量
整数类型:
byte 1
short 2
int 4
long 8
小数类型{浮点类型}:
float 所占4个字节
double 所占8个字节
字符类型:
char 在不同编码下所占字节不同,默认java的Unicode编码,一个字符占用3个字节
布尔类型:
boolean
计算机存储单位
  • 字节(Byte):是计算机用于计量存储容量的基本单位,一个字节等于8bit

  • 位(bit):是数据存储的最小单位。二进制数系统中,每个0或者1就是一个位,叫做bit (比特),其中8bit就称为一个字节(Byte)

  • 转换关系:

  • 8 bit = 1 Byte

  • 1024 Byte = 1 KB

  • 1024 KB = 1 MB

  • 1024 MB = 1 GB

  • 1024 GB = 1 TB

引用数据类型

String array 类 接口等

强制类型转换

  • 规则:将取值范围大(或容量大)的类型强制转换成取值范围小(或容量小)的类型。
  • 格式:数据类型1 变量名=(类型数据1) 被强制转换

(1)当把存储范围大的值(常量值、变量的值、表达式计算的结果值)强制转换为存储范围小的变量时,可能会损失精度或溢出

nt i = (int)3.14;//损失精度

double d = 1.2;
int num = (int)d;//损失精度

int i = 200;
byte b = (byte)i;//溢出

(2)当某个值想要提升数据类型时,也可以使用强制类型转换。这种情况的强制类型转换是没有风险的,通常省略。

int i = 1;
int j = 2;
double bigger = (double)(i/j);

算术运算符

image-20250114203544223

赋值运算符

符号
:= , +=, -=, *=, /=, %=

=为基本的赋值运算符,其他的为扩展的赋值运算符
如下操作写出结果
int a,b; a = b = 10;
System.out.println(a); System.out.println(b);
int a = 10; a += 20; System.out.println(a);
面试题
short s=1, s = s+1; short s=1, s+=1;
上面两个代码有没有问题,如果有,那里有问题

关系运算符

image-20250114203801120

逻辑运算符

image-20250114203826611

逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。

“&”和“&&”的区别:
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。

位运算符

image-20250114203949150

运算符优先级

  • 运算符有不同的优先级,所谓优先级就是在表达式运算中的运算符顺序。

    优先级 运算符说明 Java运算符
    1 括号 ()[]{}
    2 正负号 +-
    3 单元运算符 ++--~
    4 乘法、除法、求余 */%
    5 加法、减法 +-
    6 移位运算符 <<>>>>>
    7 关系运算符 <<=>=>instanceof
    8 等价运算符 ==!=
    9 按位与 &
    10 按位异或 ^
    11 按位或 `
    12 条件与 &&
    13 条件或 `
    14 三元运算符 ? :
    15 赋值运算符 =+=-=*=/=%=
    16 位赋值运算符 &=、`

键盘录入

  • 顺序结构

    • 顺序结构概述
      是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,自上而下,依次执行,程序中大多数的代码都是这样执行的。
      总的来说:写在前面的先执行,写在后面的后执行
  • 选择结构

    • break和continue的说明

    • break和continue的说明

      			适用范围			在循环结构中使用的作用						相同点
      
      break		switch-case
      			循环结构			一旦执行,就结束(或跳出)当前循环结构		    此关键字的后面,不能声明语句
      
      continue	循环结构			一旦执行,就结束(或跳出)当次循环结构		    此关键字的后面,不能声明语句
      
    • 选择结构 也被称为分支结构。
      选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。
      Java语言提供了两种选择结构语句

      • if语句

        if语句有三种格式
        if语句第一种格式:
        if(关系表达式) {
        		     语句体
        }
        
        
        if语句第二种格式:
        if(关系表达式) {
        		     语句体1;
        	}else {
        		     语句体2;
        	}
        
        f语句第三种格式:
        if(关系表达式1) {
        		     语句体1;
        	}else  if (关系表达式2) {
        		     语句体2;
        	}
            …
        	else {
        		     语句体n+1;
        	}
               
        
      • switch语句

        switch语句格式:
        switch(表达式) {
        	      case 值1:
        			语句体1;
        			break;
        		    case 值2:
        			语句体2;
        			break;
        		    …
        		    default:	
        			语句体n+1;
        			break;
            }
        格式解释
        switch表示这是switch语句
        表达式的取值:byte,short,int,char
        JDK5以后可以是枚举
        JDK7以后可以是String
        case后面跟的是要和表达式进行比较的值
        语句体部分可以是一条或多条语句
        break表示中断,结束的意思,可以结束switch语句
        default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
            
        执行流程
        首先计算出表达式的值
        其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
        最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
            
        
        注意事项
        case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
        default可以省略吗?
        可以省略。一般不建议。除非判断的值是固定的。(单选题)
        break可以省略吗?
        可以省略,一般不建议。否则结果可能不是你想要的
        default的位置一定要在最后吗?
        可以出现在switch语句任意位置。
        switch语句的结束条件
        遇到break
        执行到程序的末尾
        
        
        
        
  • 循环结构

      • 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

        • for循环

        • for循环语句格式:
          for(初始化语句;判断条件语句;控制条件语句) {
                   循环体语句;
              }
          1,初始化部分可以声明多个变量,但必须是同一个类型,用逗号分隔
          
          
          
        • while循环

          ①初始化部分
          while(②循环条件部分){
              ③循环体部分;
              ④迭代部分;
          }
          while(循环条件)中循环条件必须是boolean类型。
          注意不要忘记声明④迭代部分。否则,循环将不能结束,变成死循环。
          for循环和while循环可以相互转换。二者没有性能上的差别。实际开发中,根据具体结构的情况,选择哪个格式更合适、美观。
          for循环与while循环的区别:初始化条件部分的作用域不同。
          
        • do while循环

          ①初始化部分;
          do{
          	③循环体部分
          	④迭代部分
          }while(②循环条件部分);
          
          do-while结构的循环体语句是至少会执行一次,这个和for和while是不一样的
          
          
        • 无限循环

          最简单"无限"循环格式
          while(true)
          for(;;)
          
        • 嵌套循环

          所谓嵌套循环
          是指一个循环A的循环体是另一个循环B。比如,for循环里面还有一个for循环,就是嵌套循环。其中,for ,while ,do…while均可以作为外层循环或内层循环。
            外层循环:循环A
            内层循环:循环B
           实质上,嵌套循环就是把内层循环当成外层循环的循环体。只有当内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的外层循环。
          设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次。
          技巧:从二维图形的角度看,外层循环控制行数,内层循环控制列数。
                  
           for(初始化语句①; 循环条件语句②; 迭代语句⑦) {
              for(初始化语句③; 循环条件语句④; 迭代语句⑥) {
                	循环体语句⑤;
              }
          }
          
          //执行过程:① - ② - ③ - ④ - ⑤ - ⑥ - ④ - ⑤ - ⑥ - ... - ④ - ⑦ - ② - ③ - ④ - ⑤ - ⑥ - ④..
          

标签:语句,循环体,Java,运算符,while,循环,概述
From: https://www.cnblogs.com/03270925yhd/p/18671761

相关文章

  • Java反射、静态代理、动态代理
    概述反射机制是在运行状态中,对于任意一个类,都能够知道这个类中的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性,这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。Spring、mybatis、动态代理、注解都是使用了反射。优点:可以让......
  • 【附源码】JAVA学生考试系统源码+SpringBoot+VUE+前后端分离
    学弟,学妹好,我是爱学习的学姐,今天带来一款优秀的项目:学生考试系统 。本文介绍了系统功能与部署安装步骤,如果您有任何问题,也请联系学姐,偶现在是经验丰富的程序员!一.系统演示系统测试截图  系统视频演示 https://githubs.xyz/show/338.mp4 二.系统概述 【系统......
  • Java多进程多线程处理详解
    在Java编程中,多进程和多线程是两种常见的并发编程技术,用于提高程序的执行效率和响应速度。本文将详细介绍Java中的多进程和多线程处理,包括理论概述和代码示例。通过本文,你将了解如何在Java中实现多进程和多线程,以及它们在实际应用中的价值和意义。一、理论概述1.多进程与多线程......
  • 【转】[Java] 入参、出参、数据库实体等命名规则
    转自:kimi.ai在Java项目中,为了提高代码的可读性和可维护性,通常会对入参、出参和数据库实体等使用特定的后缀。以下是一些常见的命名规则和最佳实践:1.入参(RequestDTOs)后缀:Request 或 Dto描述:入参通常是指从客户端接收的数据传输对象(DTOs),用于封装请求参数。示例:U......
  • JAVA的初步了解 之 Java之父
     Java之父    在我开始下定决心开始学习这门编程的时候,我会疯狂的在网上找资源学习,其中B站便是我最常用最有效的学习平台之一    额...其实我是想说B站的资源相当不错.          正片开始:     首先我要介绍的是 Java......
  • 【转】[Java] 常见的文件命名规则
    来自:kimi.ai在Java项目中,遵循良好的文件命名规则对于代码的可读性、可维护性和团队协作至关重要。以下是一些常见的文件命名规则和最佳实践:1.包名(PackageNames)使用小写字母:包名应全部使用小写字母,避免使用下划线或中划线。反映项目结构:包名应反映项目的模块和层次结构,通常......
  • 利用 Java 爬虫获取 1688 商品评论的实践指南
    在电商领域,商品评论是消费者决策的重要参考因素,同时也是商家了解产品反馈、优化服务的关键数据来源。1688作为国内知名的B2B电商平台,拥有海量的商品评论数据。本文将详细介绍如何利用Java爬虫技术获取1688商品评论,并提供代码示例,帮助读者快速上手。一、项目背景与目标......
  • 必知必会!JavaScript 开发中的反模式与避坑指南
    一、开发“雷区”:JavaScript反模式危机四伏JavaScript作为软件开发领域的多面手,在Web前端、后端乃至移动端开发中均占据着举足轻重的地位。然而,在实际的开发过程中,众多反模式如同隐藏在暗处的陷阱,时刻威胁着开发的顺利进行。这些反模式的产生,源于JavaScript灵活的语法......
  • 5、提升Java的并发性
    CompletableFuture及反应式编程背后的概念:::info❏线程、Future以及推动Java支持更丰富的并发API的进化动力❏异步API❏从“线框与管道”的角度看并发计算❏使用CompletableFuture结合器动态地连接线框❏构成Java9反应式编程FlowAPI基础的“发布-订阅”协议❏反应式......
  • 【长文收藏】2025备战金三银四 Java 大厂面试题
    以下是一些2025年备战Java大厂面试可能会涉及的常见面试题:一、基础部分1.Java基本数据类型(1)解释自动装箱和自动拆箱的概念,并举例说明。一、自动装箱和自动拆箱的概念自动装箱(Autoboxing):自动装箱是Java编译器在基本数据类型和对应的包装类之间自动进行的转换,它将基......