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. nordic——nrf52系列SWD设置回读保护

    在开发时可能需要回读保护功能,在产品出厂后这个功能可以让你的代码更加安全,无法用SEGGER或者其余方式读取你的代码HEX文件,也就是禁用SWD下载接口.但是SWD锁住了,还想使用(从新下载代码)也是 ...

  2. Rocky之Mysql-MHA高可用

    9.半同步复制 安装插件三种方法: 第一种: mysql>INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so' 安装 在 ...

  3. UE优化性能

    UE 优化 参考:风恋残雪的博客 Stat unit 启动一个非Debug的游戏进程 打开控制台输入 Stat UNIT .PC端 ` , Android 四指点击 正常的渲染状态: 名称 功能 Fr ...

  4. Oracle生成awr报告操作步骤介绍

    AWR全称Automatic Workload Repository,自动负载信息库,是Oracle 10g版本后推出的一种性能收集和分析工具,提供了一个时间段内整个系统的报表数据.通过AWR报告,可 ...

  5. EBI、DDD及其演变架构史

    一.引子 聊架构总离不开"领域驱动架构",大多能聊到DDD(Domain-Driven Design),实际上早期思想EBI架构 1992年就诞生了.核心价值点在于:关注核心业务领 ...

  6. MvvmLight框架的基本使用

    关于MvvmLight框架的介绍可以看这篇,说的很详细,在此记录下来以作复习,通过一个简单的例子说明MvvmLight的基本使用 https://www.cnblogs.com/3xiaolonglo ...

  7. Complementary XOR

    题目链接 题目大意: 给你两个字符串只有01组成,你可以选取区间[l, r],对字符串a在区间里面进行异或操作,对字符串b非区间值进行异或操作,问能否将两个字符串变为全0串.如果可以输出YES, 操作 ...

  8. solidedge型材库/.sldlfp格式转.par

    一.打开solidworks型材库:D:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\lang\chinese-simplified\weldment profi ...

  9. KubeEdge的云边协同设计原理

    1.云端组件与K8s Master的关系 cloudCore和K8s master,非侵入的映射 2.EdgeController详解 -边缘节点管理 -应用状态元数据云边协同 3.DeviceCon ...

  10. 简单的WebAssembly应用搭建

    1      WebAssembly简介 WebAssembly是一种新兴的Web技术,网上的资料并不是很多,简单的可以理解为让C/C++程序运行在浏览器上,官网上用四个词来描述该技术:高效.安全.开 ...