Java入门知识(超详细讲解)

🙈作者简介:练习时长两年半的Java up主
🙉个人主页:老茶icon
🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎
📚系列专栏:Java全栈,计算机系列(火速更新中)
💭 格言:种一棵树最好的时间是十年前,其次是现在
🏡动动小手,点个关注不迷路,感谢宝子们一键三连

目录

  • 课程名:Java入门
    • 内容/作用:知识点/设计/实验/作业/练习
    • 学习:Java基础知识
    • 一、前言
      • Java代码中的注意事项
    • 二、环境与设备
    • 三、原理
      • 编程语言命名规则
        • 驼峰命名法
        • 帕斯卡命名法
      • 标识符
      • JAVA标识符的命名规则
    • 四、内容
      • 变量
        • 概念
        • 定义变量
        • 给变量赋值
        • 变量初始化
      • Java中的数据类型
        • 原始类型
        • 引用类型
      • 变量赋值时注意事项
      • 转义字符
        • ascii码表
      • 数据类型转换
        • 隐式类型转换(自动类型转换)
        • 显式类型转换(强制类型转换)
      • 接收控制台输入
    • 五、总结与分析

课程名:Java入门

内容/作用:知识点/设计/实验/作业/练习

学习:Java基础知识

一、前言

Java代码中的注意事项

  • class称为类,是运行的java程序的基本组成单位。一个java程序运行可能需要很多个class配合。
  • 每个能够运行的程序,有且只有一个main方法,称为主方法/入口函数,是程序的起点。
  • 符号
    • {} 必须成对出现。用于定义类、定义方法体、定义代码块
    • [] 必须成对出现。用于定义数组、使用数组。
    • () 必须成对出现。用于表示方法的参数。如果xxx后面有一对小括号,表示xxx是一个方法。
    • 空格 用于分割关键字与代码。
    • . 用于调用某个类的属性或方法。
    • ; 用于表示一句代码结束。大括号后无需加分号。

二、环境与设备

1.软件:IntelliJ IDEA 2022.3.2
2.环境:Windows 11 and JDK 11

三、原理

编程语言命名规则

驼峰命名法

如果一个标识符有多个单词组成,第一个单词的首字母小写,其余单词首字母大写。

如学生姓名 studentName

帕斯卡命名法

如果一个标识符有多个单词组成,所有单词的首字母都大写。

如学生信息 StudentInfomation

标识符

类名、方法名、变量名统称为标识符。

  • 类名使用帕斯卡命名法。如定义车类CarInfo
  • 方法名和变量名使用驼峰命名法。如定义车名carName,定义车的驾驶方法driverCar()

这个要求不是强制的,但是属于约定俗成的内容。

JAVA标识符的命名规则

  • 标识符由字母、数字、下划线、$符号组成。
  • 不能以数字开头。
  • 不能使用java中的关键字。

这些要求是强制的,如果不满足无法通过编译。

命名时尽量做到"见名知意"。

四、内容

变量

概念

属于物理概念,内存中的一块区域。该区域中的数据可以发生变化,所以称为变量。

内存中的变量,相当于酒店中的房间,房间的类型相当于变量的类型,房间的房号相当于变量名。

定义变量,就是在内存中申请一块相应数据类型的空间。

定义变量

语法:数据类型 变量名;

//定义名为name的变量,只能保存String(字符串型)类型的数据
String name;
//定义名为age的变量,只能保存int(整型)类型的数据
int age;
//定义名为isMarried的变量,只能保存boolean(布尔型)类型的数据
boolean isMarried;

如果在main方法中,定义了变量没有赋值,则无法使用。

给变量赋值

语法:变量名=值;

将等号右边的值赋值给等号左边的变量中。此时的变量名必须已定义。

//先定义
int age;
//后赋值
age=20;

double f;
f=3.14;

//不能给未定义的变量赋值
abc=123;

变量初始化

如果定义的变量能够拥有初始值时,可以直接在定义的同时赋值。

将定义变量和赋值合二为一。

int age=20;
String name="小明";

Java中的数据类型

java属于强类型语言,变量必须定义清楚制定的数据类型。

选择合适的数据类型,定义合适的变量,才能正确保存程序运行中产生的数据。

Java中的数据类型分为两大类:原始类型(基本类型)和引用类型

原始类型

数据类型分类所占字节大小范围
byte整型—字节1字节-27~27-1 (-128~127)
short整型—短整型2字节-215~215-1(-32768~32767)
int整型—普通整型4字节-231~231-1(-2147483648~2147483647)
long整型—长整型8字节-263~263-1
float浮点型—单精度浮点型4字节
double浮点型—双精度浮点型8字节
boolean布尔型1字节true/false
char字符型2字节\u0000 ~ \uffff

引用类型

  • 类class String属于类

  • 接口interface

  • 数组array

变量赋值时注意事项

  • 给整型变量赋值时,直接将数据写在等号右边。如果赋的值超出目标类型范围则无法通过编译。
//正常赋值
byte b=123;
short s=123;
int i=123;
long l=123;
//超出了byte范围会报错
byte b1=1111;
  • 给浮点型变量赋值时,默认赋的值属于double类型,只能用double接收。如果要用float接收,需要在值后加上f或F。
double d=3.22;
float f=3.21f;
  • 给字符型变量赋值时,可以
//普通字母、数字、汉字用单引号
char c1='a';
//转义字符。
char c2='\"';//这里\"表示一个双引号
//unicode字符。\u0000~\uffff
char c3='\u597d';//这里\u597d是一个"好"字
//ascii码。0-127对应了128个符号
char c4=97;//这里97表示a
  • 给布尔型变量赋值时,可以是true或false或一个逻辑表达式。
boolean f1=true;
boolean f2=false;
boolean f3=1>0;//等同于true

转义字符

在这里插入图片描述

ascii码表

在这里插入图片描述

数据类型转换

隐式类型转换(自动类型转换)

小类型的变量可以直接保存到大类型的变量中,这种情况称为隐式类型转换

int i;
byte b=100;
//b属于byte类型,只占1个字节,i属于int类型,占4个字节
i=b;//自动类型转换

显式类型转换(强制类型转换)

大类型的变量无法直接保存到小类型的变量中,如果要强制保存,需要进行转换。

转换方法:在要转换的变量前,使用**(目标类型)**

这个转换称为显式类型转换。强制转换可能会出现数据不准确。

double d=3.14;
float f;
//默认无法通过编译,需要强制转换
//f=d;
f=(float)d;//将变量d的数据类型强制转换为float

接收控制台输入

要接收控制台的输入时,需要使用Scanner类,该类位于import java.util;包中。

所以使用时,需要先导入对应的包。在IDEA中,如果是自动补全的方式创建的Scanner,会自动导包。

//导入Scanner类所在的包
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        //创建一个扫描器对象,用于接收控制台输入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入数字");
        int i = sc.nextInt();
        //接收回车键之前的任意内容,如果在该方法前还有接收,需要消除回车键
        //sc.nextLine();
        //String s = sc.nextLine();
        System.out.println("请输入字符串");
        //接收回车键/空格之前的内容,无需消除回车键
        String s = sc.next();
        //打印
        System.out.println(i);
        System.out.println(s);
    }
}

五、总结与分析

   好好学习,天天向上。

往期专栏
Java全栈开发
数据结构与算法
计算机组成原理
操作系统
数据库系统
物联网控制原理与技术

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

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

相关文章

REDIS19_zipList压缩列表详解、快递列表 - QuickList、跳表 - SkipList

文章目录①. 压缩列表 - zipList②. 快递列表 - QuickList③. 跳表 - SkipList①. 压缩列表 - zipList ①. ZipList是一种特殊的"双端链表",由一系列特殊编码的连续内存块组成。可以在任意一端进行压入/弹出操作,并且该操作的时间复杂度为O(1) (oxff:11111111) type…

BI界的ChatGPT,它有什么厉害之处

​ChatGPT火了,注册用户从0到1亿,仅用了2个月时间。ChatGPT的背后是大数据、大模型、大算力,是AI的能力集中化的典型场景。那么在BI界,是否也有一款像ChatGPT一样智能BI软件,只要告诉它我们想看啥数据,它噔…

使用 Jpom 自动构建和部署项目

比 Jenkins 简单的项目构建和部署工具。 前端项目自动构建部署 我有几个自用的前端项目,每次修改代码后都需要本地打包再上传到服务器进行部署,感觉有点麻烦,不够自动化,所以一直想找个能够实现自动构建和部署的工具。 这时候可…

智能灯泡灯一Homekit智能家居

传统的灯泡是通过手动打开和关闭开关来工作。有时,它们可以通过声控、触控、红外等方式进行控制,或者带有调光开关,让用户调暗或调亮灯光。 智能灯泡内置有芯片和通信模块,可与手机、家庭智能助手、或其他智能硬件进行通信&#…

Camtasia Studio2023非常好用的电脑录屏软件

如果你需要制作视频教程、游戏直播或其他视频内容,那么一个好的录屏软件就是必不可少的。Camtasia Studio是非常好用的录屏软件,它们可以记录计算机屏幕上发生的所有活动,并可捕捉声音。这些软件还提供了一些视频编辑功能,如裁剪、…

【Python学习笔记(七)】queue队列模块的使用

queue队列模块的使用 前言 为了解决多线程之间共享数据的问题,需要对线程进行加锁或者是线程等待; 更简单的解决这一问题,就需要引入队列的概念: 队列是一种特殊的线性表,是一种先进先出 (FIFO) 的数据结构&#xff…

代码随想录第二十七天(669、108、538、回溯算法介绍)

669. 修剪二叉搜索树 不能简单地通过递归实现代码&#xff0c;比如&#xff1a; class Solution { public:TreeNode* trimBST(TreeNode* root, int low, int high) {if (root nullptr || root->val < low || root->val > high) return nullptr;root->left t…

Altium Designer 2023版本安装过程

1、解压下载好的文件。 2、双击打开Setup文件夹。 3、找到installer文件&#xff0c;右键点击&#xff0c;并且以管理员身份运行。 4、点解next。 5、选择语言位&#xff1a;Chinese&#xff0c;点击我同意&#xff0c;接着next。 6、勾选前面两个&#xff0c;点击next。 7、选…

View绘制流程分析

View绘制流程分析 目录介绍 01.addView的流程分析 1.1 wm.addView()流程 02.requestLayout绘制 2.1 源码流程分析2.2 View绘制流程简析 03.performMeasure测量 3.1 performMeasure源码3.2 measure设计思路3.3 measure测量流程 04.performLayout布局 4.1 performLayout源码4.2…

页面布局 so easy——Android开发常见的界面布局方式详解

​ 在Android应用中&#xff0c;界面由布局和控件组成。布局好比是建筑里的框架&#xff0c;控件相当于建筑里的砖瓦。针对界面中控件不同的排列位置&#xff0c;Android定义了相应的布局进行管理。本篇将针对Android界面中常见的布局进行详细地讲解。 View视图 所有的UI元素…

C 语言网络编程 — 内核协议栈收包/发包流程

目录 文章目录目录关键技术DMAsk_buff 结构体Net driver Rx/Tx Ring BufferBuffer Descriptor TableNAPI 收包机制网卡多队列内核协议栈收包/发包流程概览内核协议栈收包流程详解驱动程序层&#xff08;数据链路层&#xff09;VLAN 协议族Linux Bridge 子系统网络协议层&#x…

PCB模块化设计01——USB接口详解知识要点

目录PCB模块化设计01——USB接口详解知识要点一、定义二、USB分类&#xff1a;三、传输协议四、USB接口布局布线要求PCB模块化设计01——USB接口详解知识要点 一、定义 USB是通用串行总线(Universal Serial Bus)&#xff0c;分为HOST/DEVICE两个角色&#xff0c;所有的数据传…

【C++学习】日积月累——继承详解(1)

一、继承的概念及定义 1.1 继承的概念 继承&#xff08;inheritance&#xff09;机制是面向对象程序设计使代码可以复用的最重要的手段&#xff0c;它允许程序员在保持原有类特性的基础上进行扩展&#xff0c;增加功能&#xff0c;这样产生新的类&#xff0c;称该类为派生类。…

JavaSE思维导图——总结篇

&#x1f468;‍&#x1f4bb;作者简介&#xff1a;学习时长两年半的java博主 &#x1f39f;️个人主页&#xff1a;君临๑ ps&#xff1a;点赞是免费的&#xff0c;却可以让写博客的作者开心好几天&#x1f60e; 进入正题。关于Java专栏的规划如下 写作计划&#xff1a;大概一…

【微服务 从0开始 】Spring Cloud 配置文件

&#x1f50e;这里是【秒懂云原生】&#xff0c;关注我学习云原生不迷路 &#x1f44d;如果对你有帮助&#xff0c;给博主一个免费的点赞以示鼓励 欢迎各位&#x1f50e;点赞&#x1f44d;评论收藏⭐️ &#x1f440;专栏介绍 【秒懂云原生】 目前主要更新微服务&#xff0c;…

抖音本地商家怎么做短视频运营?

抖音作为一款以短视频为核心的本地化社交平台&#xff0c;对于实体店的短视频运营来说&#xff0c;需要注重产品定位、目标人群、短视频制作、发布、私信评论维护和同行客户挖掘等方面。   一、做好产品定位   实体店在进行短视频运营时&#xff0c;首先需要做好产品定位。…

2021蓝桥杯真题图像模糊 C语言/C++

题目描述 小蓝有一张黑白图像&#xff0c;nm 个像素组成&#xff0c;其中从上到下共 n 行&#xff0c;每行从左到右 m 列。每个像素由一个 0 到 255 之间的灰度值表示。 现在&#xff0c;小蓝准备对图像进行模糊操作&#xff0c;操作的方法为&#xff1a; 对于每个像素&#…

首屏加载优化

最近沉迷逛某蓝色软件&#xff0c;收益良多&#xff01;万分感谢博主 海阔_天空&#xff0c;写的太棒了&#x1f44d;&#x1f389; 下面是原文链接&#xff0c;我在原文的基础上浅做个笔记&#xff0c;方便个人快速复习 前端性能优化——首页资源压缩63%、白屏时间缩短86% -…

溯源(五)之攻击源的获取

溯源&#xff08;一&#xff09;之溯源的概念与意义 溯源&#xff08;二&#xff09;之 windows-还原攻击路径 溯源&#xff08;三&#xff09;之Linux-入侵排查 溯源&#xff08;四&#xff09;之流量分析-Wireshark使用 溯源整体流程的思维导图 攻击源的获取 1、获取哪些数…

Spring Data JPA

1. Spring Data环境搭建 Spring Data提供了一套统一的基于Spring的数据访问模型&#xff0c;它可以轻松的实现数据库访问&#xff0c;包括各种关系型、非关系型数据库、Map-Reduce框架、云数据服务等。 Spring Data 包含多个子项目&#xff1a; • Commons - 提供共享的基础框架…
最新文章