JAVA基础

1、数据类型及转换

1.1 注释

注释是在程序指定位置添加的说明性信息

简单理解:对代码的一种解释说明,方便我们程序员更好的去阅读代码

// 单行注释
/*
多行注释
*/
/**文档注释*/

1.2 强制转换

强制转换:把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量

简单理解:大的给小的,不能直接给,需要强转

格式:目标数据类型 变量名 = (目标数据类型)值或者变量;

范例:

ink k = (int)88.88;

注意:强制类型转换,有可能会发生精度损失

精度损失:简单理解,将容积为8升的容器中的水,倒入容积为4升的容器中,如果水超出了4升,就洒了。

1.3 常量

常量:在程序的执行过程中,其值不会发生改变的量(数据)

常量的分类:

字符串常量:被双引号所包裹的内容

整数常量:所有整数

小数常量:所有小数

字符常量:被单引号包裹的内容,里面只能存放单个字符

布尔常量:只有两值,true(真),false(假)

布尔常量单独打印没有意义,为了后面要学习的运算符,打基础

空变量:null,数组部分详细讲解

注意:null空常量不能输出打印

1.4 类型转换

案例:判断是否正确

public class Test{
public static void main(String[] args){
byte a = 3; //1
byte b = 4; //2
/*
隐藏转换:当小的数据类型和大的数据类型在一起运算的时候,小的会先提示为打的之后,再进行运算
特殊关注:byte short char在运算的时候,都会直接提升为int,然后再进行运算。
解决方法:byte c = (byte)(a + b)
*/
byte c = a + b; //3 错误:不兼容的类型:从int转换到byte可能会有损失
byte d = 3 + 4; //4 这里的3和4是两个变量,Java存在常量优化机制,会在编译的时候就会让3和4进行相加,然后会自动判断7是否在byte的取值范围内。1、在范围内:编译出错 2、在范围内:通过编译
}
}

1.5 变量

以上两块内存空间,所记录的值,是经常发生改变的,对于这种经常发生改变的数据,就是所谓的变量。

结论:变量就是内存中的存储空间,空间中存储着经常发生改变的量(数据)

怎么定义变量

~变量的定义格式

数据类型 变量名 = 数据值;

数据类型:为空间中存储的数据,加入类型【限制】整数?小数?...

变量名:自己要为空间起的名字,没有难度

数据值:空间中要存储的数值,没有难度

1.6 数据类型

计算机存储单元

1B(字节)= 8bit

1KB = 1024B

1MB = 1024KB

1GB = 1024MB

TB PB等......

数据类型

Java语言是强类型语言,对于每一种数据都给出了明确的数据类型,不同的数据类型也分配了不同的内存空间,所以它们表示的数据大小也是不一样的。

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

常量【没有手动指定数据类型】但只要是数据,就会存在数据类型

public static void main(String[] args){
//整数类型,默认为int
System.out.println(10);
//浮点类型(小数类型),默认为double
System.out.println(12.3);
}

1.7 变量的定义和试用

变量的定义格式

数据类型 变量名 = 数据值;

变量的使用

根据标识,变量名进行使用

public class Demo{
public static void main(String[] args){
int a = 10;
System.out.println(a);
a = 30;
System.out.println(a);
}
}

总结:变量就是内存中的空间,内部存储着不断发生变化的数据

1.8 变量的注意事项

变量名不允许重复定义

public static void main(String[] args){
int a = 10;
//int a = 20; 错误代码
a = 20;
System.out.println(a);
}

一条语句可以定义多个变量,但需要使用逗号进行分割

public static void main(String[] args){
int a = 10 , b = 20 , c = 30;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}

变量在使用之前一定要进行赋值

public static void main(String[] args){
//int a; 错误代码
int a = 10;
System.out.println(a);
}

定义float和long变量的注意事项

定义float类型变量的时候:需要在数值后面加入F的标识,F可以大写也可以小写

定义long类型变量的时候:需要在数值后面加入L的标识,L可以大写也可以小写

但是,建议大写 1L 1l(小写)

public static void main(String[] args){
float a = 12.3F;
long b = 1000L;
}

变量的作用域范围

变量的作用域:只在它所在的大括号中有效、

public static void main(String[] args){
int a = 12;
{
int b = 20; //无效 运行完就消失
System.out.println(a);
}

1.9 键盘录入

键盘录入介绍

为什么要有键盘录入?

目的:为了让我们操作的数据,变得更加灵活

举例:int a = 10;

这里a虽然是个变量,但记录得值,却是手动写死的。能不能让a变量记录的值,灵活起来,用户输入什么,a变量就记录什么。

实现键盘录入

步骤1:导包,需要写在class的上面

		import java.util.Scanner

步骤2:创建对象

		Scanner sc = new Scanner(System.in);
只有sc可以改变,其他属于固定格式

步骤3:使用变量接收数据

		int i = sc.nextInt();
只有i变量可以改变,其他属于固定格式

1.10 标识符

标识符概述

标识符:就是给类,方法,变量等起名字的符号。

标识符定义规则:

由数字、字母、下划线(_)和美元(S)组成

·不能以数字开头

·不能是关键字

·区分大小写

常见命名约定

小驼峰命名法:

约定1:标识符是一个单词的时候,首字母小写 eg:name

约定2:标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写 eg:firstName

大驼峰命名法:

约定1:标识符是一个单词的时候,首字母大写 eg:Student

约定2:标识符由多个单词组成的时候,每个单词的首字母大写 eg:GoodStudent

1.11 隐式转换

类型转换

为什么要学习类型转换

public class Test{
public static void main(String[] args){
int a = 10;
double b = 12.3;
数据类型 c = a + b;
}
}

类型转换的分类

隐式转换

强制转换

隐式转换的过程

隐式转换

将数据类型中,取值范围小的数据,给取值范围大的类型赋值,可以直接赋值

范例:
int a = 10;
double b = a;

简单记:小的给大的,可以直接给。

int 4个字节

double 8个字节

4升的油,倒入8升的桶,可以直接倒入

隐式转换的细节

特殊关注:

byte short char 三种数据在运算的时候,不管是否有更高的数据类型,都会提升为int,然后再进行运算

Java基础1-1-1—java基础语法(数据类型及转换)的更多相关文章

  1. java和python中的string和int数据类型的转换

    未经允许,禁止转载!!! 在平时写代码的时候经常会用到string和int数据类型的转换 由于java和python在string和int数据类型转换的时候是不一样的 下面总结了java和python ...

  2. java基础(环境设置,基础语法,函数数组)

    框架图 环境搭建 课程中常见dos命令: dir : 列出当前目录下的文件以及文件夹 md : 创建目录 rd : 删除目录 cd : 进入指定目录 cd.. : 退回到上一级目录 cd/ : 退回到 ...

  3. java面向对象编程——第二章 java基础语法

    第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...

  4. Java10-java语法基础(九)——java的封装性

    Java10-java语法基础(九)——java的封装性 一.Java的三大特性:封装.多态.继承 封装:通过类封装对象的数据成员和成员方法,保证只有可信的类或者对象能够访问这些方法和数据成员,对不可 ...

  5. Java09-java语法基础(八)java中的方法

    Java09-java语法基础(八)java中的方法 一.方法(函数/过程):是一个程序块,可以完成某种功能 1.java中方法的定义格式 [访问控制修饰符]  返回值类型  方法名(参数列表){ 方 ...

  6. 《Java程序设计》第三章-基础语法

    20145221<Java程序设计>第三章-基础语法 总结 教材学习内容总结 类型.变量与运算符 类型 Java可区分为基本类型(Primitive Type)和类类型(Class Typ ...

  7. JavaSE基础(三)--Java基础语法

    Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如 ...

  8. 008 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 02 Java 中的关键字

    008 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 02 Java 中的关键字 关键字 关键字就是一些有特殊意义的词 之前学习的程序中涉及到的关键字 Java中 ...

  9. 007 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 01 Java标识符

    007 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 01 Java标识符 Java变量与常量主要内容 Java变量与常量主要内容如下,主要是对以下内容的学习,没 ...

  10. JavaSE 基础知识(常识概念 + 基础语法)问答总结/面试题 —— 讲给应届生的 Java 开源知识项目

    写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...

随机推荐

  1. C#使用内存和指针方式将字节数组转换为Bitmap

    /// <summary> /// 指针方式转 /// </summary> /// <param name="Width">图像的宽</ ...

  2. natapp内网穿透

    NATAPP 官网地址 https://natapp.cn/ 下载 点击下载,选择符合自己的版本 注册 下载完成后解压是个natapp.exe程序,这里先不用动,回到官网首页 完成注册并登录,选择免费 ...

  3. Go语言核心36讲01

    你好,我是郝林,今天我分享的内容是:0基础的你,如何开始入门学习Go语言. 1. 你需要遵循怎样的学习路径来学习Go语言? 我们发现,订阅本专栏的同学们都在非常积极的学习和讨论,这让我们非常欣慰,并且 ...

  4. 2018 Web开发人员学习路线图

    以下 Web 开发人员学习路线图是来自 Github developer-roadmap 项目,目前已经有繁体版翻译 developer-roadmap-chinese. 主要有三个方向,分别为前端开 ...

  5. dfs 序

    dfs序可以\(O(1)\)判断书上两个点的从属关系 Tree Queries 题面翻译 给你一个以\(1\)为根的有根树. 每回询问\(k\)个节点\({v_1, v_2 \cdots v_k}\) ...

  6. HCIE Routing&Switching之MPLS LDP理论

    前文我们了解了MPLS的静态LSP配置相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16937104.html:今天我们来聊一聊标签分发协议LDP相关 ...

  7. linux内核源码下载地址

    一.官网链接 https://www.kernel.org/ 二.HTTP https://www.kernel.org/pub/ 三.GIT https://git.kernel.org/ 四.镜像 ...

  8. Type Script 在流程设计器的落地实践

    流程设计器项目介绍 从事过BPM行业的大佬必然对流程建模工具非常熟悉,做为WFMC三大体系结构模型中的核心模块,它是工作流的能力模型,其他模块都围绕工作流定义来构建. 成熟的建模工具通过可视化的操作界 ...

  9. 【每日一题】【奇偶分别中心扩展/动态规划】2022年2月5日-NC最长回文子串的长度

    描述对于长度为n的一个字符串A(仅包含数字,大小写英文字母),请设计一个高效算法,计算其中最长回文子串的长度. 方法1:奇数偶数分别从中心扩展 import java.util.*; public c ...

  10. 使用.NET开发搭建OpenAI模型的中间服务端

    前言:前不久微信上大家玩ChatGPT聊天机器人玩的不亦乐乎:不过随着ChatGPT被封杀,所以用微信聊天机器人有可能导致封号的风险.那如果自己不想每次都去OpenAI官网上进行对话[PS:官网上面聊 ...