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获取数组的长度

            

        

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自定义类型:结构体详解

1.结构体 1.1 结构的基础知识 结构是一些值的集合&#xff0c;这些值称为成员变量。一个整型数组&#xff0c;它的每个数组元素只能是整型&#xff0c;字符型的数组它的每个元素只能是字符型。但是结构体的每个成员可以是各种不同类型的变量。 1.2结构的声明 //声明 struct t…

【java程序设计期末复习】chapter1 java入门

java入门 java的特点 &#xff08;1&#xff09;简单 Java要比C简单&#xff0c;C中许多容易混淆的概念&#xff0c;或者被Java弃之不用了&#xff0c;或者以一种更清楚更容易理解的方式实现 &#xff08;2&#xff09;面向对象 Java是面向对象的编程语言 &#xff08;3&…

【数据结构(邓俊辉)学习笔记】二叉树02——遍历

文章目录 0.概述1. 先序遍历1.1 递归版1.1.1 实现1.1.2 时间复杂度1.1.3 问题 1.2 迭代版11.3 迭代版21.3.1 思路1.3.2 实现1.3.3 实例 2. 中序遍历2.1 递归形式2.2 迭代形式2.2.1 观察2.2.2 思路&#xff08;抽象总结&#xff09;2.2.3 构思 实现2.2.4 分摊分析 3. 后序遍历3…

world machine学习笔记(4)

选择设备&#xff1a; select acpect&#xff1a; heading&#xff1a;太阳的方向 elevation&#xff1a;太阳的高度 select colour&#xff1a;选择颜色 select convexity&#xff1a;选择突起&#xff08;曲率&#xff09; select height&#xff1a;选择高度 falloff&a…

neo4j开放远程连接

注&#xff1a;本博客所用neo4j版本为社区5.12版 第一步&#xff1a;修改neo4j配置文件 首先找到neo4j的安装位置&#xff0c;点击进入conf文件夹&#xff0c;随后点击neo4j.conf文件&#xff0c;在“Network connector configuration”下面的单元中找到server.default_liste…

Android:使用Kotlin搭建MVVM架构模式

一、简介Android MVVM架构模式 MVVM全称&#xff1a;Model、View、ViewModel&#xff1b; Model&#xff1a;负责数据的请求、解析、过滤等数据层操作&#xff0c;其中Repository: 提供数据的 API&#xff08;从本地或者网络&#xff09;。View&#xff1a;负责视图部分展示Vie…

【热门话题】Debian常用命令指南

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 Debian常用命令指南引言1. 文件与目录操作lscdmkdirrmcpmv 2. 包管理aptdpkg 3.…

kubenetes中K8S的命名空间状态异常强制删除Terminating的ns

查看ns状态为异常&#xff1a; 查看ns为monitoring的状态为Termingating状态 使用方法一&#xff1a; kubectl delete ns monitoring --force --grace-period0 使用方法二&#xff1a; kubectl get ns monitoring -o json > monitoring.json 修改删除文件中的"kubern…

BUUCTF-Misc24

从娃娃抓起1 1.打开附件 是两个文本文件 2.电报码 电报码在线翻译网站&#xff1a;https://usetoolbar.com/convert/cccn.html 3.汉字五笔编码 汉字五笔编码在线网站查询&#xff1a;https://www.qqxiuzi.cn/bianma/wubi.php 4.转化为MD5值 将文字保存到文本文档 用winR输入…

PCIe总线-事物层之TLP请求和完成报文格式介绍(六)

1.概述 TLP报文按照类型&#xff0c;可以大致分为4中类型&#xff0c;分别是IO请求报文、存储器请求报文、配置请求报文、完成报文和消息请求报文。IO请求报文可分为IO读请求&#xff08;不携带数据&#xff09;和IO写请求&#xff08;携带数据&#xff09;。存储器请求报文可…

第 33 次CCF认证

1. 词频统计 题目描述 样例输入 代码 #include <bits/stdc.h>using namespace std;int main() {int n,m;cin>>n>>m;vector<int> ans1(m,0),ans2(m,0);while (n --) {int t;cin>>t;vector<int> vis(m1,0);for (int i 1;i < t;i ) {i…

【Qt】深入探索Qt窗口与对话框:从创建到管理:QDockWidget(浮动窗口)、QDialog(对话框)

文章目录 前言&#xff1a;1. 浮动窗口2. 对话框介绍2.1. 示例&#xff1a;主窗口中&#xff0c;通过点击按钮&#xff0c;弹出一个新的对话框。2.2. 创建自定义对话框2.2.1. 纯代码的方式2.2.2. 图形化界面的方式 3. 模态对话框 和 非模态对话框4. Qt 内置对话框4.1. 消息对话…

创新实训2024.05.26日志:落地基于硬盘的数据库服务

1. 需求任务列表 以下描述易学大模型软件的web应用的功能。 用户注册 用户邮箱&#xff0c;密码&#xff0c;验证码开启官方邮箱&#xff0c;用来发验证码&#xff08;QQ 网易都支持开启smtp协议&#xff0c;找教程&#xff0c;用邮箱不用手机号是为了省买发短信云服务的钱&a…

【软件设计师】先导

一、考试科目&#xff1a; 上午&#xff1a;计算机与软件工程知识&#xff0c;考试时间150min&#xff0c;75空单选题&#xff08;不一定一题一空&#xff09; 下午&#xff1a;软件设计&#xff0c;考试时间150分钟&#xff0c;问答题&#xff0c;6道只做5大题&#xff08;前四…

Nginx 的原理解析 worker 配置及相关问题 -细节狂魔

文章目录 前言Nginx 的最基本的执行过程&#xff08;master & worker&#xff09;worker 是如何进行工作的 一个 master 和 多个 woker 有哪些好处1、可以使用 nginx 热部署2、节省资源 && worker 进程之间互不影响 && nginx 服务不会中断 woker 设置多少才…

简单美观易上手的 Docker Compose 可视化管理器 Dockge

本文首发于只抄博客&#xff0c;欢迎点击原文链接了解更多内容。 前言 Dockge 是 Uptime Kuma 作者的新作品&#xff0c;因此 UI 风格与 Uptime Kuma 基本一致&#xff0c;如果你正在使用 Uptime Kuma 的话&#xff0c;那么 Dockge 的 UI 设计应该也不会让你失望。Dockge 主打…

java人口老龄化社区服务与管理平台源码(springboot+vue+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的人口老龄化社区服务与管理平台。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 人口老龄化…

MySql基础(一)--最详细基础入门,看完就懂啦(辛苦整理,想要宝宝的赞和关注嘻嘻)

前言 希望你向太阳一样&#xff0c;有起有落&#xff0c;不失光彩~ 一、数据库概述 1. 什么是数据库 数据库就是存储数据的仓库&#xff0c;其本质是一个文件系统&#xff0c;数据按照特定的格式将数据存储起来&#xff0c;用户可以对数据库中的数据进行增加&#xff0c;修改&…

Spring中的Aware接口

Spring中的Aware接口 Aware接口介绍 Aware是Spring中的接口&#xff0c;它的作用是可以让Bean获取到运行环境的相关信息。比如获取到上下文、Bean在容器中的名称等。 Spring中提供了很多Aware接口的子类&#xff0c;具体如下&#xff1a; 常用接口的作用如下&#xff1a; …