01JAVA基础

目录

1.基础语法

1.1 注释

1.2 关键字

1.3 常量

1.4 数据类型

1.5 变量

1.6 标识符

1.7 类型转换

2.算数运算符和分支语句

2.1 算数运算符

        1.常规运算符

2.赋值运算符

3.自增自减

4.关系运算符

5.逻辑运算符

6.三元运算符

2.2 数据输入(Scanner)

2.3 分支判断语句

1. if相关语句

2.switch语句

3.循环相关内容              

1. for循环

2. while循环语句

3. do...while循环

4.跳出控制语句

5.生成随机数(Random)

 4.数组

1.数组的定义

 2.数组初始化

3.数组内容输出

 4.数组常见问题和操作


1.基础语法

        1.1 注释

                // 单行注释

                /* 

                       多行注释

                */

        1.2 关键字

                解释: 被java语言赋予了特定的含义的单词

                特点: 关键字全部小写

         1.3 常量

                解释: 在程序运行中,其值不可以发生改变的量

               常量的分类

                

常量类型说明举例
字符串用双引号括起来的内容"HelloWord"
整数不带小数的数字666
小数带小数的数字13.14
字符用单引号括起来的内容'A' '你'
布尔布尔值,表示真假true false
空常量一个特殊的值,空值null

       1.4 数据类型

               前言计算机相关知识普及: 计算机存储设备的最小信息单元叫位(bit),也称为比特位,通常用小写字母b表示,计算机最小存储单元叫字节(byte),用B表示.由8个位组成

                1B(字节) = 8bit  1KB = 1024B 1M = 1024KB 1GB = 1024MB 1TB = 1024GB

                             基本数据类型的内存占用和取值范围

数据类型关键字内存占用取值范围
整数byte1-128~127
short2-32768~32767
int4-2^31~2^31-1
long8-2^63~2^63-1
浮点float4~
double8~
字符char20~65535
布尔boolean1true,false

        1.5 变量

                解释:程序运行过程中,其值可以发生改变(存储在内存上)

                格式: 数据类型 变量名 = 变量值   (int a = 1)

                修改变量的值 变量名 = 变量值  (a = 10)

        1.6 标识符

                规则:由数字,字母,下划线和$组,不能以数字开头,不能是关键字,区分大小写

                常见的命名规则:(小驼峰命名:方法和变量)一个字母时首字母小写,多个字母时,第一个首字母小写,其它首字母大写 (大驼峰命名:类)无论单个还是多个首字母都大写

        1.7 类型转换

                1.自动类型转换,范围小的赋值给大的                2. 强制类型转换(精度容易丢失),范围大的赋值给范围小的       

                    格式: 目标数据类型 变量名 = (目标数据类型)值或变量 (int a = (int)13.14)

2.算数运算符和分支语句

        2.1算数运算符

                1.常规运算符

                        + - * /  %(取余)

                 2.赋值运算符

                 int i = 0;   i = i +1 可以写成 i += 1 一般情况下二者等价

                 short j = 0; j = j +1  会报错因为1为int类型,j为short类型

                                                但是 j=j+1不报错等价于 j = (short)(j+1) 类型底层隐含强行转换

                3.自增自减

                1.单独使用,++a和a++的结果一样

                2.产于操作时,a++,先取变量的值,后拿变量进行操作

                                      ++a,先将变量进行操作,后取变量的值

                实例: int i = 5; int j =++i 和 int i = 5; int j =i++,分别打印输出j,i的值如下 

操作

i

j
++i66
i++65
                4.关系运算符

                       ==  !=  >  >=   <   <=   

                5.逻辑运算符
符号       作用说明
&逻辑与全为true结果才为true
|逻辑或全为false结果才为false
^逻辑异或二者结果不同才为true
!逻辑非结果相反
符号作用说明
&&短路与(作用与&一样,但会短路)a&&b a为false,将不会在处理b
||短路或(作用与&一样,但会短路)a||b a为true,将不会在处理b
                6.三元运算符

                        格式: 关系表达式?表达式1:表达式2

                        实例; a>b?a:b    其中值为true输出a  值为false输出b 

        2.2 数据输入(Scanner)

        作用:用于键盘输入内容进行操作

                1.导包

                        import java.util.Scanner   (出现类定义上面)

                2.创建对象

                        Scanner sc = new Scanner(System.in);     (sc为变量名)

                3.接受数据

                        int i = sc.nextInt();   (i为变量名)

                        

         2.3 分支判断语句

                1. if相关语句

                 1. if (关系表达式){

                          语句体1;

                      }

                 2. if(关系表达式){

                          语句体1;

                       }else{

                          语句体3;

                       }

                 3. if(关系表达式){

                          语句体1;

                       }else if(关系表达式){

                          语句体2;

                       }

                        ...

                        else{

                         语句体3;

                       }

如果if表达式的值为true,则执行语句体1,满足else if的条件,执行语句2,否则都执行语句3 

                2.switch语句

               相关格式:

                switch(表达式){                                    // 表达式:取值可以是int...string等或者枚举

                        case 值1:                                     //  case: 值1要与表达式里的值相匹配(==)

                                  语句体1;                            //   break: 表示中断,从此处跳出的意思

                                break;                                  //   default的含义与if语句中else相似

                        ...

                        default:

                                语句体n;

                }

                   实例: 对枚举等操作(后续内容会在后续补充)

// 枚举定义格式
enum Color{red,blue,yellow;
}
public class Test{public static void main(String[] args){Color c = Color.blue;        // 获取枚举中某个数据switch(c){case red:System.out.println("红色");break;case blue:System.out.println("蓝色");break;}}
}

3.循环相关内容              

    1. for循环

       格式:

                for (初始化语句;条件判断语句;条件控制语句){

                        循环体内容;

                }

        执行流程:

                1.执行初始化语句   2.执行判断语句(true接着执行否则结束)

                3.执行循环体内容   4.执行条件控制语句

                5.回到2继续执行

        实例:

                for (int i=0;i<=3;i++){

                        System.out.println(i);                      //  0,1,2,3

                }

        2. while循环语句

        基本格式:

                while(条件判断语句){

                        循环体内容;

                        条件控制语句;

                }

        执行流程:

                1.先执行条件判断语句,为true继续执行,否则结束

                2.执行循环体内容和条件控制语句

                3.回到1继续执行

        实例:

                int i = 7;

                while(i>5){

                        System.out.println("你好");   //会打印2次你好

                        i--;

                }

        3. do...while循环

       基本格式:

             do{

                循环体内容;

                条件控制语句;

               }while(条件判断);

        执行流程:与while类似.

                        二者唯一区别是,do..while无论条件是否成立先执行一遍循环体nerv

        4.跳出控制语句

        

符号作用
continue基于条件控制,跳出某次循环执行,继续进行下一次
break基于条件控制,终止循环内容执行,结束整个循环

         5.生成随机数(Random)

       作用:用于产生一个随机数

        1.导包

                import java.util.Random;

        2.创建对象

                Random x  = new Random();                 //x是变量名

        3.获取随机数

                int number = r.nextInt(10);                     //10是获取范围[0,10)

 4.数组

        1.数组的定义

        格式1: 数据类型[] 变量名

        格式2: 数据类型 变量名[]

                

        2.数组初始化

       动态初始化: 只指定数组的长度

                格式: 数据类型[] 变量名 = new 数组类型[数组长度]

                实例: int [] a = new int [2];

                          左边 int:数组数据类型  []:表示一个数组   a:数组名词

                          右边 new:为数组申请的内存空间   int和[]如上 2:代表数组中元素个数

        静态初始化:指定数组中的元素

                格式: 数据类型[]变量名 = new 数据类型[]{数据1,数据2...}

                简化格式: 数据类型[]变量名 = {数据1,数据2...}

                

        上述实例内存示意图(实例结果是001,1)

数组存储会给元素一个默认值,int为0,double为0.0等 

栈内存: 存储局部变量

堆内存: 存储new出来的内容(实体,对象)

        3.数组内容输出

        格式: 数组名[索引]

        注意: 索引从0开始,是连续的       

        4.数组常见问题和操作

常见问题原因报错
索引越界访问了数组不存在的索引ArrayIndexOutOfBondsException.
空指针异常访问数据不指向堆内存数据NullPinterException
操作作用
数组.length获取数组的长度

            

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/332973.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mac 安装java jdk8 jdk11 jdk17 等

oracle官网 https://www.oracle.com/java/technologies/downloads/ 查看当前电脑是英特尔的x86 还是arm uname -m 选择指定版本&#xff0c;指定平台的安装包&#xff1a; JDK8 JDK11的&#xff0c;需要当前页面往下拉&#xff1a; 下载到的安装包&#xff0c;双击安装&#x…

基于微信小程序+ JAVA后端实现的【医院挂号预约系统】 设计与实现 (内附设计LW + PPT+ 源码+ 演示视频 下载)

项目名称 项目名称&#xff1a; 《基于微信小程序的医院挂号预约系统设计与实现》 项目技术栈 该项目采用了以下核心技术栈&#xff1a; 后端框架/库&#xff1a; Java, SSM框架数据库&#xff1a; MySQL前端技术&#xff1a; 微信小程序, uni-app 项目展示 全文概括 本…

关于亚马逊、速卖通、虾皮、Lazada等平台自养号测评IP的重要性

在自养号测评中&#xff0c;IP的纯净度是一个至关重要的问题&#xff0c;它直接关系到账号的安全性和稳定性如果使用了被平台识别为异常或存在风险的IP地址&#xff0c;那么账号可能会面临被封禁的风险。这将对账号的正常使用和测评过程中造成严重影响。而使用纯净的IP地址&…

前端开发的设计思路【精炼】(含数据结构设计、组件设计)

数据结构设计 用数据描述所有的内容数据要结构化&#xff0c;易于程序操作(遍历、查找)&#xff0c;比如数组、对象、对象为元素构成的数组&#xff08;每个元素记得设置唯一的 id 属性&#xff0c;以便对元素进行删改操作&#xff09;数据要可扩展&#xff0c;以便增加新的功能…

EtherCAT总线掉线如何自动重启

EtherCAT通信如果是从站掉线我们可以勾选上自动重启功能如下图所示&#xff1a; 1、自动重启从站 待续.....

MacOS使用PhpStorm+Xdebug断点调式

基本环境&#xff1a; MacOS m1 PhpStorm 2024.1 PHP7.4.33 Xdebug v3.1.6 1、php.ini 配置 [xdebug] zend_extension "/opt/homebrew/Cellar/php7.4/7.4.33_6/pecl/20190902/xdebug.so" xdebug.idekey "PHPSTORM" xdebug.c…

【数组】Leetcode 452. 用最少数量的箭引爆气球【中等】

用最少数量的箭引爆气球 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points &#xff0c;其中points[i] [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。 一支弓箭可以沿着 x 轴从不同点 完全垂直 地…

Tensors张量操作

定义Tensor 下面是一个常见的tensor&#xff0c;包含了里面的数值&#xff0c;属性&#xff0c;以及存储位置 tensor([[0.3565&#xff0c;0.1826&#xff0c;0.6719],[0.6695&#xff0c;0.5364&#xff0c;0.7057]]&#xff0c;dtypetorch.float32,devicecuda:0)Tensor的属…

【机器学习】Python中的决策树算法探索

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 Python中的决策树算法探索引言1. 决策树基础理论1.1 算法概述1.2 构建过程 2. P…

解决:LVGL+GUI Guider 1.7.2运行一段时间就会卡死死机,内存泄露溢出的问题

概括&#xff1a; 我在使用NXP官方GUI Guider生成的代码出现了内存泄漏的问题。但我遇到的并不是像其他人所说的style的问题&#xff0c;如下链接。而是因为在页面渲染之前就使用了该页面内的组件&#xff0c;内存就会不断增加。 LVGL 死机 内存泄漏_lvgl 内存溢出-CSDN博客 运…

一文读懂Linux

前言 为了便于理解&#xff0c;本文从常用操作和概念开始讲起。虽然已经尽量做到简化&#xff0c;但是涉及到的内容还是有点多。在面试中&#xff0c;Linux 知识点相对于网络和操作系统等知识点而言不是那么重要&#xff0c;只需要重点掌握一些原理和命令即可。为了方便大家准…

操作系统总结(2)

目录 2.1 进程的概念、组成、特征 &#xff08;1&#xff09;知识总览 &#xff08;2&#xff09;进程的概念 &#xff08;3&#xff09;进程的组成—PCB &#xff08;4&#xff09;进程的组成---程序段和数据段 &#xff08;5&#xff09;程序是如何运行的呢&#xff1f…

嵌入式开发中树莓派和单片机关键区别

综合了几篇帖子作以信息收录&#xff1a;树莓派和单片机作为嵌入式系统领域中两种广泛使用的设备&#xff0c;各自有着不同的特性和应用场景&#xff0c;文章从五个方面进行比对展开。 架构与性能&#xff1a; 树莓派&#xff1a;是一款微型计算机&#xff0c;通常配备基于AR…

Django性能优化:提升加载速度

title: Django性能优化&#xff1a;提升加载速度 date: 2024/5/20 20:16:28 updated: 2024/5/20 20:16:28 categories: 后端开发 tags: 缓存策略HTTP请求DNS查询CDN分发前端优化服务器响应浏览器缓存 第一章&#xff1a;Django性能优化概述 1.1 性能优化的意义 性能优化是…

Spring中@Component注解

Component注解 在Spring框架中&#xff0c;Component是一个通用的注解&#xff0c;用于标识一个类作为Spring容器管理的组件。当Spring扫描到被Component注解的类时&#xff0c;会自动创建一个该类的实例并将其纳入Spring容器中管理。 使用方式 1、基本用法&#xff1a; Co…

深入浅出MySQL事务实现底层原理

重要概念 事务的ACID 原子性&#xff08;Atomicity&#xff09;&#xff1a;即不可分割性&#xff0c;事务中的操作要么全不做&#xff0c;要么全做一致性&#xff08;Consistency&#xff09;&#xff1a;一个事务在执行前后&#xff0c;数据库都必须处于正确的状态&#xf…

vb.net打开CAD指指定路径文件

首先打开vsto,创建窗体&#xff0c;添加一个按钮&#xff0c;双击按钮录入代码&#xff1a; Public Class Form1Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.ClickDim cad As Objectcad CreateObject("autocad.Application")cad…

火箭升空AR虚拟三维仿真演示满足客户的多样化场景需求

在航空工业的协同研发领域&#xff0c;航空AR工业装配系统公司凭借前沿的AR增强现实技术&#xff0c;正引领一场革新。通过将虚拟信息无缝融入实际环境中&#xff0c;我们为工程师、设计师和技术专家提供了前所未有的共享和审查三维模型的能力&#xff0c;极大地提升了研发效率…

Go 语言简介 -- 高效、简洁与现代化编程的完美结合

在现代软件开发领域&#xff0c;选择合适的编程语言对于项目的成功至关重要。Go 语言&#xff08;又称 Golang &#xff09;自 2009 年由Google发布以来&#xff0c;以其简洁的语法、高效的并发模型以及强大的性能&#xff0c;迅速成为开发者们的新宠。Go语言不仅融合了传统编译…

博客开始使用 Cache Master 缓存插件

明月在给大家推荐 Cache Master 插件的时候&#xff08;可参考【推荐个比较纯正的缓存插件——Cache Master】一文&#xff09;&#xff0c;仅仅是在其他站点上试用了一下&#xff0c;今天明月正式在博客上用上了 Cache Master&#xff0c;没有想到对 Dragon 主题的支持竟然是出…