一、Java入门

Java 是最好的语言吗?

不是,因为在每个领域都有更合适的编程语言。

Java技术体系平台

JavaSE//JavaEE//JavaME

Java程序的结构

类{
  方法{
    语句;
  }
}

二、Java基础知识

注释:

单行

//

多行

/*

*/

文档

/**

*/

关键字:

Java 有50余个关键字

常量:

字面量常量(“HwlloWorld,123”)

final修饰的变量

标识符:

1、标识符的命名规则(必须遵守)

(1)Java的标识符只能使用26个英文字母大小写,0-9的数字,下划线_,美元符号$

(2)不能使用Java的关键字(包含保留字)和特殊值

(3)数字不能开头

(4)不能包含空格

(5)严格区分大小写

2、标识符的命名规范(遭受鄙视)

(1)见名知意

(2)类名、接口名等:每个单词的首字母都大写,形式:XxxYyyZzz,

例如:HelloWorld,String,System等

(3)变量、方法名等:从第二个单词开始首字母大写,其余字母小写,形式:xxxYyyZzz,

例如:age,name,bookName,main

(4)包名等:每一个单词都小写,单词之间使用点.分割,形式:xxx.yyy.zzz,

例如:java.lang

(5)常量名等:每一个单词都大写,单词之间使用下划线_分割,形式:XXX_YYY_ZZZ,

例如:MAX_VALUE,PI

初识数据类型

基本数据类型:
变量:

变量三要素

1、数据类型

2、变量名

3、值

变量的作用:用来存储数据,代表内存的一块存储区域,这块内存中的值是可以改变的。

变量的使用应该注意什么?

1、先声明后使用

2、在使用之前必须初始化

3、变量有作用域

4、在同一个作用域中不能重名

变量的声明:

数据类型  变量名;

变量的赋值:

变量名 = 值;

变量的使用:

通过变量名直接引用

进制的换算

十进制数据转成二进制数据:

使用除以2倒取余数的方式

二进制数据转成十进制数据:

从右边开始依次是2的0次,2的1次,2的2次。。。

二进制数据转八进制数据:

从右边开始,三位一组

二进制数据转十六进制数据

从右边开始,四位一组

数据存储的最小单位。也就是二进制。二进制数系统中,每个0或1就是一个位,叫做bit(比特),其中8 bit 就称为一个字节(Byte)。

解释:计算机数据的存储(了解)

1000 0000 ==> -128(特殊规定)

计算机数据的存储使用二进制补码形式存储,并且最高位是符号位,1是负数,0是正数。

规定:正数的补码与反码、原码一样,称为三码合一;

负数的补码与反码、原码不一样:

负数的原码:把十进制转为二进制,然后最高位设置为1

负数的反码:在原码的基础上,最高位不变,其余位取反(0变1,1变0)

负数的补码:反码+1

为什么float(4个字节)比long(8个字节)的存储范围大?

因为float、double底层也是二进制,先把小数转为二进制,然后把二进制表示为科学记数法,然后只保存:

(1)符号位(2)指数位(3)尾数位

详见《float型和double型数据的存储方式.docx》

虽然计算机底层使用0和1表示false和true,但是在代码中不能给boolean类型的变量赋值0和1,只能赋值false和true

编码表 :就是将人类的文字和一个十进制数进行对应起来组成一张表格。

基本数据类型转换

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

取值范围小的类型自动提升为取值范围大的类型

2、强制类型转换(显示类型转换)

取值范围大的类型强制转换成取值范围小的类型

数据类型 变量名 = (数据类型)被强转数据值;

任意数据类型的数据与String类型进行“+”运算时,结果一定是String类型

但是String类型不能通过强制类型()转换,转为其他的类型

运算符优先级

++ 运算,变量自己的值加1。反之,-- 运算,变量自己的值减少1

1、单独使用

变量前++和变量后++,变量的是一样的;

2、复合使用

变量前++ :变量先自身加1,然后再取值。

变量后++ :变量先取值,然后再自身加1。

赋值运算符

所有的赋值运算符的=左边一定是一个变量

byte,short,char 之间运算后会自动类型提升为int型

扩展赋值运算符在将最后的结果赋值给左边的变量前,都做了一步强制类型转换

例:short a += 1;结果还是short类型,可能损失精度

比较运算符:

是两个数据之间进行比较的运算,运算结果一定是boolean值true或者false

其中>,<,>=,<=不支持boolean,String类型,==和!=支持boolean和String。

逻辑运算符:

是用来连接两个布尔类型结果的运算符(!除外),运算结果一定是boolean值true或者false

&&&结果一样,&&有短路效果,左边为false,右边不执行;&左边无论是什么,右边都会执行。

|||结果一样,||有短路效果,左边为true,右边不执行;|左边无论是什么,右边都会执行。

三元运算符

数据类型 变量名 = 关系表达式?结果1:结果2

条件判断的结果是true返回1,false返回2

位运算符(了解)

左移:<<

运算规则:左移几位就相当于乘以2的几次方

右移:>>

运算规则:右移几位就相当于除以2的几次方

无符号右移:>>>

运算规则:往右移动后,左边空出来的位直接补0,不看符号位

按位与:&

运算规则:

1 & 1 结果为1

1 & 0 结果为0

0 & 1 结果为0

0 & 0 结果为0

按位或:|

运算规则:

1 | 1 结果为1

1 | 0 结果为1

0 | 1 结果为1

0 & 0 结果为0

按位异或:^

运算规则:

1 ^ 1 结果为0

1 ^ 0 结果为1

0 ^ 1 结果为1

0 ^ 0 结果为0

按位取反:~

运算规则:~0就是1

~1就是0

如何区分&,|,^是逻辑运算符还是位运算符?

如果操作数是boolean类型,就是逻辑运算符,如果操作数是整数,那么就位运算符。

提示:

(1)表达式不要太复杂

(2)先算的使用()

Java基础语法01的更多相关文章

  1. 006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序

    006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序 Eclipse下创建程序 创建程序分为以下几个步骤: 1.首先是创建一个 ...

  2. 005 01 Android 零基础入门 01 Java基础语法 01 Java初识 05 Eclipse简介

    005 01 Android 零基础入门 01 Java基础语法 01 Java初识 05 Eclipse简介 Eclipse是一款集成开发工具--IDE. 集成开发环境(IDE,Integrated ...

  3. 004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构

    004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构 Java程序的结构 Java程序外层--类 程序外层,如下面的代码,是一个类的定义. c ...

  4. 003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程

    003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程 Java程序长啥样? 首先编写一个Java程序 记事本编写程序 打开记事本 1.wi ...

  5. 002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介

    002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介 学习Java的基础语法 Java是一门编程语言,学习的逻辑其实和现实世界的语言是一样的,需要了 ...

  6. 001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学

    001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学 welcome to Java World 欢迎来到Java世界 一起领略Java编程世界的奥秘与奥妙 ...

  7. Java基础语法01——变量与运算符

    本文是对Java基础语法的第一部分的学习,包括注释:标识符的命名规则与规范:变量的数据类型分类以及转换:以及六种运算符(算术.赋值.比较.逻辑.三元和位运算符).

  8. Java基础语法入门01

    Java基础语法入门01 学习java你要先进行去了解JDK,JRE,JVM JDK Java开发工具包 JRE Java语言开发的运行环境 JVM Java虚拟机,用于Java语言的跨平台所用. 当 ...

  9. 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现

    075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...

随机推荐

  1. smp_processor_id()获取当前执行cpu_id

    基于Linux 2.6.32内核进行分析,看本篇文章前,建议先看看percpu变量这篇文章 smp_processor_id()用来获取当前cpu的id,首先来看smp_processor_id的定义 ...

  2. Docker 配置国内镜像

    前言 当我们使用Docker pull 拉取镜像时,有时候因网络问题,导致获取镜像报错,如下 :Error response from daemon:Get https://registry-1.co ...

  3. UVA - 11400 Lighting System Design

    题文: You are given the task to design a lighting system for a huge conference hall. After doing a lot ...

  4. Three Key Points of Success 成功三要素

    Everyone wants to be successful. Today I would like to share three simple key points of success. Num ...

  5. 构造函数语义学——Copy Constructor 篇

    构造函数语义学--Copy Constructor 篇 本文主要介绍<深度探索 C++对象模型>之<构造函数语义学>中的 Copy Constructor 构造函数的调用时机 ...

  6. Oracle报错注入总结

    0x00 前言 在oracle注入时候出现了数据库报错信息,可以优先选择报错注入,使用报错的方式将查询数据的结果带出到错误页面中. 使用报错注入需要使用类似 1=[报错语句],1>[报错语句], ...

  7. [Luogu1379]八数码难题

    题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了 ...

  8. sqlserver 查看最耗时的前10个存储过程

    SELECT TOP OBJECT_NAME(a.object_id,database_id) SP_Name, DB_NAME(a.database_id) Database_Name, a.cac ...

  9. django2-创建项目

    方式一:cmd或linux命令行下创建django项目(不常用,此处不做详细介绍) django-admin.py startproject autotest 方式二:使用pycharm专业版创建dj ...

  10. 【Autofac打标签模式】Component和Autowired

    [ Autofac打标签模式]开源DI框架扩展地址: https://github.com/yuzd/Autofac.Annotation/wiki Componet标签把类型注册到DI容器 1. 把 ...