前言:欢迎来到我的小窝,这里是一个新手程序员的起航之旅,记录着从“入坑”到“退坑”每一天……
  • 计划任务
  • 完成任务

任务描述:

Java语言作为当今主流的高级语言,很多的小伙伴已经开始学习java之旅了,
但是作为初学者,java基础语法是必备技能,只有熟练掌握了解java基础语法之后,
你才能更好地深入java语言的世界,开始你的java编程之旅……

知识点归纳:

1.文档注释

文档注释皆可嵌套单行注释,起解释说明的作用

/**
*文档注释,使用javadoc.exe生成API文档注释
*/
//单行注释
/*
var foo = 'bar';
var foo1 = 'bar1';
多行注释*/
2.标识符

命名规则

  • 组成:字母,数字,下划线_,美元符号$(!数字不能开头)
  • 严格区分大小写
  • 关键字和保留字不能作为标识符使用
    1. 关键字:已经被java语法占用的字
    2. 保留字:goto const 将来会被java所使用的字

命名规范

  • 见名知意
  • 驼峰命名原则
    1. 类名|接口名 (每个单词首字母大写 HelloWorld)
    2. 变量名|方法名 (第一个单词小写,第二个单词开始,每个单词首字母大写 helloWorld)
    3. 常量名 (全部大写,每个单词之间_连接 HELLO_WORLD)
3.变量
3.1 变量是什么

程序执行过程中,其值可以发生改变的量 (不是值,而是一块空间)

3.2 变量如何定义

声明的同时赋值 | 数据类型 变量名 = 数据值; //例:int num=1
先声明 后赋值 | 数据类型 变量名; 变量名 = 数据值; //例:int num; num=1;

3.3 变量的作用域

从变量的声明开始到包括它的离它最近的同一级 } 结束,局部作用域{}

3.4 变量的分类

局部变量 ==> 定义在局部位置(方法中|语句块中) 使用之前必须已经声明并且已经赋值,没有默认值
成员变量 ==> 定义在(类中 方法外) 定义在成员位置的变量,只声明不赋值,存在默认值

3.5 常量

常量是在程序执行过程中其值不能发生改变的量

  • 字面值常量 ==>整数常量 0 100 -1 …小数常量 1.0 0.5 -2.3 …布尔常量 true false 空常量 null
  • 自定义常量 ==>被final的变量为最终常量//例:final int NUM=1
4.数据类型
4.1基本数据类型

整型

  1. byte 字节型 1个字节 [-128,127]
  2. short 短整型 2个字节 [-2的15次方,2的15次方-1]
  3. int 整型 4个字节 [-2的31次方,2的31次方-1] ,默认为int long需要在字面量后加 l/L
  4. long 长整型 8个字节 [-2的61次方,2的61次方-1]

字符型

  • char 字符型 2个字节

    • 一对’ '包裹任意一个字符
    • 通过0~65535之间的整数表示字符 Unicode字符集

布尔型

  • boolean 布尔型 1个字节 1bit有效位
4.2 引用数据类型(类class 接口 interface 数组 String[])
4.3 进制转换
  • 整型表现方式

    • 二进制 由0~1组合, java中由0b|0B开头
    • 八进制 由0·7组合,java中由0开头
    • 十进制 默认
    • 十六进制 由09,af|A~F组合, java中由0x|0X开头
  • 浮点表现防止

    • 小数的整数位为0的时候,0可以省略 0.6---->.6
    • 科学计数法 1.23e2 --> 1.23*10^2 --> 123.0 1.23e-2 --> 1.23/10^2 -->0.0123
4.4 数据类型转换

注意 :
boolean类型不参与类型转换
如果符合类型范围要求大小的常量就能成功为byte,short,char类型赋值,常量的值在编译期间能够确定


自动类型提升 (小转大)

  1. 运算后的结果类型<int类型,会自动提升成为int
  2. 存储多种类型的数据参与运算时候,最终结果为参与运算的最大类型
  3. byte->short->int ->long->float->double

强制类型转换(大转小)

  1. 会损失精度
  2. 小范围类型 变量 = (小范围类型) 大范围类型数据;
5.运算符

注意

  • 操作数 运算符左右两边的数为操作数
  • 表达式 运算符连接两边的操作数整体称为表达式 a+b

1.按作用分类

  • 算数运算符

    • 加减乘除(+ - * /)取余(%)自增自减(++ --)
    • ++ – 单独使用,放在变量前后,没有区别;a++; ++a;
    • ++ – 如果不是单独使用,放在变量前后有明显区别
      • 在变量前面:先+1,-1再使用变量
      • 在变量后面:先使用变量,再对变量+1,-1
  • 赋值运算符
    • 基础赋值运算符 = (优先级最低)
    • 扩展赋值运算符 += -= *= /= %= (算数运算符+基础赋值运算符)
      1. 注意:编译期间编译器会自动把适当优化成扩展赋值运算符的写法
      2. 优点: 提高执行效率,自动做强制类型转换 缺点不直观
  • 比较运算符|关系运算符
    • (> < >= <=) 只能比较byte,short,int ,long ,float,double,char
    • (== !=) 可以比较任意类型数据
  • 逻辑运算符
  1. & 与: 一个为false就是false,两个都为true才是true
  2. | 或:一个为true就是true,两个都为false才是false
  3. ! 非:!true–>false !false–>true
  4. ^ 异或:相同为false,不同为true
  5. 短路运算符:如果左边操作数就能够决定最终表达式的结果,右边的操作数不再执行
    1. && : 一个为false就是false,两个都为true才是true
    2. || : 一个为true就是true,两个都为false才是false
  • 条件运算符(三元运算符)

    • boolean表达式 ? 值1 : 值2;
    • 1.计算boolean表达式,得到boolean结果
    • 2.如果boolean结果为true,取值1;如果boolean结果为true,取值2
  • 位运算符
  1. 执行流程:先把操作数转为二进制,再根据运算符的规则进行运算,得到二进制结果然后再转为十进制
  2. & 对两个操作数统一位置的数据进行运算,一个为0就是0,两个都为1才是1
  3. | 对两个操作数统一位置的数据进行运算,一个为1就是1,两个都为 0才是 0
  4. ^ 对两个操作数统一位置的数据进行运算,相同为0,不同为1
  5. 以上三个运算符当操作数为boolean作为逻辑运算符,操作数为整数作为位运算符
  • 位移运算符
  1. 执行流程:先将左边的操作数转为二进制,然后向某一个移动第二个操作数个位数(推荐使用位移运算符)
  2. (<<左移): 向左移动第二个操作数个位数,空位补0 规律 : 8<<3==? 8*2^3
  3. (>>右移) : 向左移动第二个操作数个位数,移出位置忽略不计,剩下的就为2进制结果 规律 : 8>>3==? 8/2^3
  1. 按操作数的个数分类
  • 一元运算符|单目运算符 操作数只有1个 ++ – 正号 符号
  • 二元运算符|双目运算符 操作数只有2个 + - * / …
  • 三元运算符|三目运算符 条件运算符
6.工具类
Scanner(接受用户输入键盘的内容)
//1.导包
import java.util.Scanner;
//2.创建Scanner的变量|引用
Scanner sc = new Scanner(System.in);
//3.使用功能
引用.nextInt() 接收用户键盘输入的int类型的整数   **
引用.nextByte() 接收用户键盘输入的byte类型的整数
引用.nextShort()
引用.nextLong()
引用.nextFloat()
引用.nextDouble()
引用.next() 接收用户键盘输入的字符串,从有效字符开始接收,遇到空格停止接收,直到遇到enter结束功能
引用.nextLine() 接收用户输入一整行内容,包含空格,遇到enter结束功能
使用 nextLine()功能之前如果存在系列next功能,需要处理遗留enter问题
//4.释放资源
sc.close();
Random(产生随机数)
//1.导包import java.util.Random;
//2.创建Random类型的引用
Random ran = new Random();
//3.使用功能
ran.nextInt(); 产生int范围内的随机数
ran.nextInt(n); 产生[0,n)范围内的随机整数
[min,max)   ran.nextInt(max-min) + min
推导 :/*ran.nextInt(max)-->[0,max)     ran.nextInt(max) + min -->[min,max+min)ran.nextInt(max-min) + min -->[min,max)[min,max]   ran.nextInt(max-min+1) + min*/
7.流程控制

1.顺序结构 (从上到下执行)
2.选择结构(满足条件执行对应的代码段)

if语句

        单分支if(boolean表达式){满足条件执行的代码段;}执行流程 :1.boolean表达式,得到boolean结果2.如果结果为true,执行{}中的语句体如果结果为false,跳过if结构双分支if(boolean表达式){满足条件执行的代码段;}else{不满足条件执行的代码段;}无论是否满足条件都能得到结果多分支if(条件1){语句体1;}else if(条件2){语句体2;}else if(条件3){语句体3;}....else{语句体n;}

switch语句

   if 区间判断,定值判断switch定值判断区别 : 能用switch都能使用if代替,能用if不一定能用switchswitch(表达式|变量){///(表达式|变量)中的数据只能为 : byte,short,int ,char , jdk1.5->枚举 , jdk1.7->字符串case 值1:语句体1;break;case 值2:语句体2;break;/*如果没有break,就会发生case穿透恰当的时候可以选择通过case穿透实现,简化switch结构*/....default ://default可以定义在switch语句中的任意位置,一般为最后语句体n;break;}

最后,这是今天的思维导图总结:

总结:

今天是愉快的一天……

学java被“劝退”的第五天相关推荐

  1. 【零基础学Java】—Socket类(五十五)

    [零基础学Java]-Socket类(五十五) Socket类:该类实现客户端套接字,套接字是指两台设备之间通讯的端点. 在Java中,提供了两个类用于实现TCP通信程序 客户端:java.net.S ...

  2. 【零基础学Java】—TCP通信(五十四)

    [零基础学Java]-TCP通信(五十四) TCP通信:面向连接的通信,客户端和服务器端必须经过三次握手,建立逻辑连接,才能通信(安全). 通信的步骤: 服务器端先启动 服务器端不会主动的请求客户端, ...

  3. 【零基础学Java】—网络编程(五十三)

    [零基础学Java]-网络编程(五十三) 一.软件结构 C/S结构:全称为Client/Server结构,是指客户端和服务器结构,常见的程序有QQ.迅雷等软件 B/S:全称为Browser/Serve ...

  4. 学java被“劝退”的第九天

    前言:欢迎来到我的小窝,这里是一个新手程序员的起航之旅,记录着从"入坑"到"退坑"每一天-- 计划任务 完成任务 任务描述: 正在苦恼怎么将面向对象向大家叙述, ...

  5. 学java被“劝退”的第七天

    前言:欢迎来到我的小窝,这里是一个新手程序员的起航之旅,记录着从"入坑"到"退坑"每一天-- 计划任务 完成任务 任务描述: java是一个面向对象oop的语言 ...

  6. 学java被“劝退”的第六天

    前言:欢迎来到我的小窝,这里是一个新手程序员的起航之旅,记录着从"入坑"到"退坑"每一天-- 计划任务 完成任务 任务描述: 流程控制语句是用来控制程序中各语句 ...

  7. 学java被“劝退”的第三天

    前言:欢迎来到我的小窝,这里是一个新手程序员的起航之旅,记录着从"入坑"到"退坑"每一天-- 计划任务 完成任务 任务描述: 今天的任务是开始java环境变量的 ...

  8. 学java被“劝退”的第八天

    前言:欢迎来到我的小窝,这里是一个新手程序员的起航之旅,记录着从"入坑"到"退坑"每一天-- 计划任务 完成任务 任务描述: 以前我们学习的基本数据类型,定义一 ...

  9. 跟我学 Java 8 新特性之 Stream 流(五)映射

    转载自   跟我学 Java 8 新特性之 Stream 流(五)映射 经过了前面四篇文章的学习,相信大家对Stream流已经是相当的熟悉了,同时也掌握了一些高级功能了,如果你之前有阅读过集合框架的基 ...

最新文章

  1. 棋盘格检测--Automatic camera and range sensor calibration using a single shot
  2. Git的撤销操作 git checkout -- <file>
  3. conda install pytorch torchvision cudatoolkit=10.2 -c pytorch 报错
  4. python date time
  5. 【Java代码】未分页数据根据参数进行分页(粘贴可用)
  6. 排序算法时间复杂度、空间复杂度、稳定性比较
  7. JavaSE——面向对象基础(思想、类与对象、构造方法、重载、匿名对象)
  8. 初步认识图像的直方图
  9. java反射机制的实现机制_Java反射机制实践
  10. .net学科-杨中科-Unity3D视频教程
  11. 虚拟机桥接模式下和windows相互ping通
  12. 数仓OLAP(一)--即席查询 Kylin
  13. c语言程序方差的计算公式,方差计算公式
  14. 实现DevOps的三步工作法
  15. 寄存器 SRAM DRAM存储单元区别
  16. c++ 模糊搜索 正则表达式_c++中正则表达式(regex)
  17. [微云助手/微小云怎么用]如何设置群组群发
  18. 纺织ERP_印染ERP软件_指点ERP简介
  19. Win10下SCP命令免密码上传、下载工程师服务器上的文件
  20. 计算机一级wps必背知识点,计算机一级WPSoffice考前复习题

热门文章

  1. java每日一讲讲什么_每日一讲.ppt
  2. 排查docker cpu占用过高问题
  3. 1252:走迷宫 2021-01-05
  4. QQ浏览器是如何提升搜索相关性的?
  5. 坏男人是丈夫的最佳人选
  6. Java案例——猫狗案例加入跳高功能分析及其代码实现(面向对象)
  7. 抖音视频链接数据分析
  8. 【02】水果蔬菜识别系统-基于tensorflow2.3开发
  9. IDEA中pom.xml文件图标变红,而不是蓝问题
  10. 2018年度最优秀mac软件及游戏推荐,个个万里挑一