Java快捷键

首先我们先来介绍下IDEA的一些快捷键

  1. psvm=public static void main(String[] args) {}

  2. sout=System.out.println("Hello,World!");

Java基础语法

在我们学习Java的时候,就像其他任何一门语言一样,首先要了解的当然就是Java的一些基础的语法之类的知识。

注释、标识符、关键字

一、注释

注释对于一个程序员来说是非常重要的东西。一个好的注释不仅能够使我们能够在之后阅读自己的程序的时候不必一句一句地分析语句的意思,而且在之后与其他程序员进行团队合作的时候有更好的配合。

要注意:注释只是写给人看的,它并不会被机器执行,注释的示例如下:

  1. 单行注释://单行注释:可以注释单行文字

  2. 多行注释:

/*
多行注释:可以注释一段文字
注释 */
  1. 文档注释:(这点在学习Java前期基本上是用不到的)

    //JavaDoc:文档注释:/**  */
    /**
    *@Description HelloWorld
    *@Author long //作者名
    *
    */

二、标识符

标识符是大小写敏感的

//大小写十分敏感
String Man = "fan";
String man = "fan";

这里的标识符就是Man,意思就是说,如果你输入个Man,但是在之后调用的时候调用的是man,机器是识别不出来的。Manman是两个不同的表达,它们是两个变量名。

所有的标识符都应该是以字母(A-Z或者a-z),美元符(¥),或者下划线(—)开始

三、关键字

java所有的组成部分都需要名字。类名,变量名以及方法名都被称为标识符。下面是跟大家分享一些Java中最常用的标识符,基本上包括了所有的标识符。

abstract assert boolean break byte
case catch char class const
continue default do double else
enum extends final finally float
for goto if implements import
instanceof int interface long native
new package private protected public
return strictfp short static super
switch synchronized this throw throws
transient try void volatile while

数据类型

首先需要强调一点:Java是强类型语言,这非常重要,那么什么是强类型语言呢?

  1. 强类型语言也称为强类型定义语言,它的定义就是:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

  2. 强类型语言是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。

  3. java、.NET、C++等都是强制类型定义的。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。

  4. 例如你有一个整数,如果不显式地进行转换,你不能将其视为一个字符串。

  5. 与其相对应的是弱类型语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

一、基本类型

这里跟大家聊一下各种数据类型的字节范围长度,基本上并不用太注意,一般来说平常的就够用了,只是了解下就行了。(都是一些废话,哈哈)

1.数值类型

位(Bit):是指计算机内部数据储存的最小单位。

字节(Byte):是计算机中数据处理的基本单位,习惯上用大写B表示。

1B(Byte,字节)=8bit(位)

字符:是指计算机中使用的字母、数字、字和符号。

2.整数类型

byte占一个字节范围:-128-127

short占2个字节范围:-32768-32767

int占4个字节范围:-2147483648-2147483647

long占8个字节范围:-922337203685477808-922337203685477807

3.浮点类型

float占4个字节

double占8个字节

4.字符类型

char占2个字节

5.boolean类型

占一位,其值只有true和false两个

class:用来定义类

String:用来定义字符串变量String teacher = "lyl-star";

int:用来定义数字类型int a=10

变量

这里只是简单介绍一下变量的定义以及声明方法,具体的对于变量的使用请参考我的另一篇博客

Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

type varName [=value] [{,varName[=value]}];
//数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类型变量。

二、引用类型

1.类(这里只是提一句它是属于引用类型的,之后的请参考我的其他博客

2.接口

3.数据

类型转换

基本数据类型从低到高依次为

低 -------------------------------------------------------------------------> 高

byte,short,char—>int —> long —> float —> double

一、强制类型转换

说完了Java的基本类型都有哪些之后,你或许有些疑问。如果你想强行的进行转换的时候怎么办呢?

放心!Java也提供了这种命名方法:(类型)+ 变量名 ,其中的变量名原本的类型就会被强制转换为()里面的数据类型。它的转换一般都是从高类型-->低类型的时候使用的。

例如:如果你有一个int型的数据,想把它转换为byte型的,但是int型的数据长度比byte型的要长,机器并不能自动地转换,这个时候就需要我们使用强制地进行类型转换了。

需要注意的一点就是内存溢出的问题:即不要使数据的长度超过数据类型的最大(或最小)值

二、自动类型转换

还有一种转换方式就是机器自动转换类型。当然,这种转换也并不是想怎么转就怎么转的,它也只支持从低类型-->高类型的转换。

例如:你有一个int型的数据,想把它当作double类型的数据来用。这个时候机器就会自动地把它转换为double型的来用。但是如果你要是想把它当作byte型的来用的时候就不行了,Java机器并不能自动地进行转换,这个时候就需要程序员自己来进行强制类型转换了。

public class Demo04 {
public static void main(String[] args) {
int i = 128;
double b = i;//内存溢出 System.out.println(i);
System.out.println(b);
}
}

三、注意点:

  1. 不能对布尔值进行转换

  2. 不能把对象类型转换为不相干的类型

  3. 在把高容量转换到低容量的时候,强制转换

  4. 转换的时候可能存在内存溢出,或者精度问题!

System.out.println((int)23.7);
System.out.println((int)-45.89f);

char c = 'a';
int d = c+1;
System.out.println(d);
System.out.println((char)d);

操作数比较大的数的时候,注意溢出问题

这里提一下JDK比较好用的一个技巧JDK特性:数字之间可以用下划线分割,这意味着当我们输入一些比较大的数时,再也不需要一个一个地去查数字地个数了(泪目)。

        //操作数比较大的数的时候,注意溢出问题
//JDK特性:数字之间可以用下划线分割
int money = 10_0000_0000;
System.out.println(money);

int money = 10_0000_0000;
System.out.println(money);
int years = 20;
int total = money*years;
long total2 = money*years;//默认的是int,转换之前已经存在问题了
System.out.println(total);
System.out.println(total2);
long total3 = money*((long)years);
System.out.println(total3);

Java基础之(五):数据类型的更多相关文章

  1. Java实习生常规技术面试题每日十题Java基础(五)

    目录 1.启动一个线程是用run()还是start()? . 2.线程的基本状态以及状态之间的关系. 3.Set和List的区别,List和Map的区别? 4.同步方法.同步代码块区别? 5.描述Ja ...

  2. JAVA基础第五章-集合框架Map篇

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...

  3. Java基础之基本数据类型

    前言:Java内功心法之基本数据类型,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) 变量就是申请内存来存储值.也就是说,当创建变量的时候,需 ...

  4. java基础(三) -基本数据类型

    变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据. 因此,通过定义不同类型的变量,可以在内存 ...

  5. java基础(十五)----- Java 最全异常详解 ——Java高级开发必须懂的

    本文将详解java中的异常和异常处理机制 异常简介 什么是异常? 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常. Java异常的分类和类结构图 1.Java中的所 ...

  6. 数组、栈、堆(java基础知识五)

    1.数组概述.定义格式 * A:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数据类型,也可以存储引用数据类型. * B:数组定义格式 格式1:数据类型[ ...

  7. java基础(4):引用数据类型、流程控制语句

    1. 引用数据类型 1.1 Scanner类 我们要学的Scanner类是属于引用数据类型,我们先了解下引用数据类型. 引用数据类型的使用: 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有 ...

  8. Java基础笔记之数据类型

    一.数据类型 (一)8种基本数据类型(内置数据类型\C#中为值类型) 字符长度:1byte = 8 bit; 布尔:可认为是 1byte (8 bit);

  9. Java基础学习之数据类型、基础语法与数组(3)

    目录 1.数据类型 1.1.基本数据类型 1.2.引用数据类型 1.3.自动装箱与拆箱 2.基础语法 2.1.标识符 2.2.修饰符 2.2.1.访问控制修饰符 2.2.2.非访问控制修饰符 2.3. ...

  10. JAVA基础知识之数据类型

    JAVA的数据类型知识点主要包括基本数据类型,包装类,字符串类(String,StringBuffer, StringBuilder区别和用法),数组,数据类型转换等等,暂时只想到这么多,后面会再补充 ...

随机推荐

  1. 我说Java完全面向对象,老大过来就是一jio

    哈喽,大家好,我是指北君.自从开始学Java,就知道Java是一门面向对象编程的语言,所以在指北君眼中,Java就是完全面向对象的.有一天老大问到我这个事情,我脱口而出,结果老大过来就是一jio... ...

  2. springboot中redis取缓存类型转换异常

    异常如下: [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested ...

  3. JobExecutionContext中的JobDataMapjob与Detail与Trigger中的JobDataMapjob

    public static void main(String[] args) { //配置模式 build模式 //1.实例一个JOB JobDetail jobDetail = JobBuilder ...

  4. iptables开启后造成本地套接字阻塞的问题

    前段时间,我使用iptables实现了针对IP地址与MAC地址的白名单功能,即将INPUT链的默认规则设为DROP: iptables -P INPUT DROP 这样就能拒绝一切外来报文.随后只需要 ...

  5. Python - 面向对象编程 - MRO 方法搜索顺序

    为什么会讲 MRO? 在讲多继承的时候:https://www.cnblogs.com/poloyy/p/15224912.html 有讲到, 当继承的多个父类拥有同名属性.方法,子类对象调用该属性. ...

  6. git跟踪忽略规则文件.gitignore

    在使用Git的过程中,我们希望有的文件比如临时文件,编译的中间文件等不要被跟踪,也不需要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交. 配置语法 以斜杠"/"开 ...

  7. freemodbus移植、实例及其测试方法

    Modbus简介 参考:Modbus​协议​深入​讲解 https://www.ni.com/zh-cn/innovations/white-papers/14/the-modbus-protocol ...

  8. Pytest系列(22)- allure的特性,@allure.link()、@allure.issue()、@allure.testcase()的详细使用

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 上一篇文章介绍了两种allu ...

  9. Robot Framework 面试题

    什么是 RF 基于可扩展关键字驱动的自动化测试框架 什么是可扩展关键字驱动 可扩展意味着可以自己开发,也可以调用第三方的关键字库 关键字驱动意味着测试用例都是围绕着关键字运行的 RF 的原理(框架?) ...

  10. RabbitMQ-如何保证消息在99.99%的情况下不丢失

    1. 简介 MQ虽然帮我们解决了很多问题,但是也带来了很多问题,其中最麻烦的就是,如何保证消息的可靠性传输. 我们在聊如何保证消息的可靠性传输之前,先考虑下哪些情况下会出现消息丢失的情况. 首先,上图 ...