标识符

  1. Java对各种变量,方法,类等要素命名时使用的字符序列称为标识符
  2. Java标识符命名规则:
    2.1 标识符由字母、下划线_ 、美元符$ 、数字 组成
    2.2 标识符由字母、下划线_ 、美元符$ 开头
    2.3 Java标识符大小写敏感,长度无限制
  3. Java标识符选择应“见名知意”,不能和java关键字重名

关键字

  1. java 中一些赋以特定的含义,用作专门用途的字符串成为关键字(keyWorld)
  2. 所有Java关键字都是小写英文
  3. goto 和 const 也是Java关键字保留
cabstract default if private this
boolean do implements protected throw
break double import public throws
byte else instanceof return transient
case extends int short try
catch final interface static void
char finally long strictfp( strict float point的缩写,指的是精确浮点) volatile
class float native super while
const for new switch null
continue goto package synchronized

Java常量

Java常量值用字符串表示,区分为不同的数据类型

  1. 整型常量 123
  2. 实型常量 3.14
  3. 字符常量 ‘a’
  4. 逻辑常量 true false
  5. 字符串常量 “aaa”

常量这个名词还会用在另外的其他语境中表示值不可变的变量,参考final关键字

Java变量

  1. Java变量是程序中最基本的存储单元,其要素主要包括 变量名,变量类型和作用域。
  2. Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,声明格式为type varName [=value][,{varName}]
  3. 本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,每个变量使用前必须要先申请一下,然后必须进行赋值(填充内容),才能使用。
heap 堆
stack 栈
data segment 数据段
code segment 代码段


什么时候能够访问这个变量,你跟它在一个花括号里面,出来它的花括号,就不能访问了

Java分类

按照声明的位置:

  1. 局部变量:方法或者语句块中定义的变量
  2. 成员变量:方法外部,类的内部定义的变量
  3. 类外面不能有变量的声明

按所属的数据类型划分:

  1. 基本数据类型
  2. 引用数据类型

Java基本数据类型

Java 定义了4类8种基本数据类型

  1. 逻辑型–boolean
  2. 文本型–char
  3. 整数型–byte、short、int 、long
  4. 浮点数型–float、double
逻辑型Boolean
  1. boolean类型数据适用于逻辑运算,用于程序流程控制
  2. boolean类型数据只允许取值true或false.不可以0或非0的整数替代true和false,这点和C语言不同。
字符型char
  1. char型数据用来表示通常意义上的“字符”
  2. 字符常量为用单引号括起来的单个字符,例如char eChar='a';char cChar='中'
  3. Java采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式来表示char c1='\u0061'
  4. Java语言中还允许使用转义字符‘\’来将其后的字符转变为其他的含义char c2= ‘\n’
整数类型
  1. Java各整数类型有固定的表数范围和字段长度,其不受具体操作系统的影响,以保证Java程序的可移植性。
  2. Java语言整型常量的三种表示形式:
    2.1 十进制:12 、-314 、0
    2.2 八进制:要求以0开头,如:012
    2.3 十六进制:要求0X或者0X开头,如0x12
  3. java语言的整型常量默认为int型,声明long型常量可以在后面加‘l’,‘L’
int i1=600;
long l1=8888888888888888L //必须加l,否则会出错。


浮点数型

Java浮点类型常量有两种表示形式

  1. 十进制数形式:3.14、 314.0 、.314
  2. 科学计数法形式:3.14e2 、 2.14E2 、100E-2

Java 浮点型常量默认为double型,如要声明一个常量为float型,则需要在数字后面加上f或者F

double d=12345.6; //正确
float f=12.3f;//必须加f,否则会出错。

类型转换

  1. boolean类型不能转换为其他类型
  2. 整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则。
    2.1 容量小的类型自动转换为容量大的数据类型(如下图)
    2.2容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出
    2.3 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的哪一种数据类型,然后再进行计算
    2.4 实数常量(如1.2) 默认为double
    2.5 整数常量(如123)默认为int

数据类型按照容量大小排序为:

运算符

  1. 算数运算符:+、 - 、*、 /、 % 、++、 –

  2. 关系运算符:>、 <、 >=、 <=、 ==、 !=

  3. 逻辑运算符:& 、&& 、| 、||、!、^

  4. 位运算符:& 、| 、^、 ~、 >>、 << 、>>>

  5. 赋值运算符:=
    5.1 当"="两次数据不一致的时候,可以适用默认类型转转换或者强制类型转换原则进行处理long l=100; int i=(int)1;
    5.2 可以将整型常量直接赋值给byte,short,char等类型变量,而不需要进行强制类型转换,只要不超过表数范围byte b=12;char c=100; byte bb=256; short s=-32769;

  6. 扩展运算符:+=、-=、*=、/=

  7. 字符串连接运算符:+ int id = 800+90; string s="hello"+"world"
    7.1 只要其中一个是字符串,系统自动将另一个操作数转换为字符串然后再进行连接
    7.2 当打印时,无论任何类型,都会转为字符串进行打印

表达式和语句

  1. 表达式的类型和值
    1.1 对表达式中操作数进行运算得到的结果称为表达式的值。
    1.2 表达式值的数据类型即为表达式的类型。
  2. 表达式的运算顺序
    2.1 应按照运算符的优先级从高到低按照顺序进行
    2.2 优先级相同的运算符按照事先约定的结合方向进行
  3. 三目条件运算x?y:z X为boolean表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。

程序执行的三大结构

顺序
分支
  1. if
  2. if…else…
  3. if…elseif…
  4. if…elseif…elseif…
  5. if…elseif…elseif…else
  6. 只有一句语句需要执行的时候,可以省略{}
循环
  1. for循环

  2. while循环

  3. do while循环

  4. 停止循环
    4.1 break :终止后面的所有循环
    4.2 Continue:终止当前循环,直接开始下一次循环

  5. switch条件语句
    5.1 Java中switch语句只能探测int类型
    5.2 default可以省略,但不推荐
    5.3 多个case可以合并到一起

    5.4小心case穿透,推荐使用break语句

方法

  1. Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段
  2. 形式参数,实参,返回值,返回值类型
  3. Java中进行函数调用中传递参数时,遵循值传递的原则。
  4. 基本类型传递是该数据值本身
  5. 引用类型传递的是对象的引用,而不是对象本身

递归调用

方法一:

public class Test{public static void main(String arg[]){System.out.println(f(5));}public static int f(int n){if(n==1 || n==2){return 1;} else {return f(n-1) + f(n-2)}}
}

方法二:

public class Fab{public static void main(String[] args){System.out.println(f(-9));}public static long f(int index){if(index <1){System.out.println("invalid parameter");return -1;}if(index == 1 || index ==2)return 1;}long f1=1L;long f2=2L;long f=0;for(int i=0;i<index-2;i++){f=f1+f2;f1=f2;f2=f;}return f;
}

【J2SE】语言基础相关推荐

  1. Day01_JAVA语言基础第一天

    1.计算机基础知识(理解) 1.计算机硬件 软件的基础设施,就是载体,计算机的硬件由五大组成部件:运算器,控制器,存储器,输入设备和输出设备 2.计算机软件 系统软件:windows,MAC,LINU ...

  2. day01计算机基础知识Java语言基础

    计算机基础知识(计算机概述) 计算机基础知识(软件开发和计算机语言概述) 计算机基础知识(人机交互) 计算机基础知识(键盘功能键和快捷键) 计算机基础知识(如何打开DOS控制台) 计算机基础知识(常见 ...

  3. 02-java语言基础

    java语言基础 1.java语言概述 1.1 java语言发展史 ​ 詹姆斯·高斯林(James Gosling)1977年获得了加拿大卡尔加里大 学计算机科学学士学位,1983年 获得了美国卡内基 ...

  4. JAVA 语言基础学习

    JAVA 语言基础 文章目录 JAVA 语言基础 Java概述 Java语言的诞生 JAVA语言的发展 JAVA语言的特点 什么是跨平台性? 跨平台的实现原理 JDK与JRE JDK的下载和安装 Pa ...

  5. JAVA教程-JAVA语言基础框架知识学习点-JAVA精通必看

    JAVA教程中文版在线代码示例 1. JAVA语言基础 1. 1. 导言( 17 ) 1. 9. 变量( 6 ) 1. 2. Java关键词( 1 ) 1. 10. 变量范围( 2 ) 1. 3. J ...

  6. 【python语言基础】疑难点整理2

    [python语言基础]疑难点整理1 第五章 在python语法中,循环体中的语句没有做限制,因此,可以是任何合法语句,当然也可以是循环语句.这样就形成了循环语句的嵌套. while循环语句和for循 ...

  7. r语言 断轴 画图_R语言基础画图/绘图/作图

    R语言基础画图 R语言免费且开源,其强大和自由的画图功能,深受广大学生和可视化工作人员喜爱,这篇文章对如何使用R语言作基本的图形,如直方图,点图,饼状图以及箱线图进行简单介绍. 0 结构 每种图形构成 ...

  8. fig r函数_R语言基础绘图函数散点图~跟着Nature Communications学画图~Figure1

    今天继续 跟着Nature Communications学画图系列第二篇.学习R语言基础绘图函数画散点图. 对应的 Nature Communications 的论文是 Fecal pollution ...

  9. 学单片机需要多少C语言基础,C语言单片机编程教程

    很多学员和朋友经常找我给他们推荐C语言的书,他们可能想和我当年一样,闷头大干一场,学个几个月的C语言,把C语言吃透,再开始单片机程序开发! 别!别!别! 大家千万别这么干,我当年自学了3个月的C语言, ...

  10. %3c- r语言运算符,R语言基础教程之运算符

    原标题:R语言基础教程之运算符 运算符类型 在R编程中有以下类型的运算符 - 算术运算符 关系运算符 逻辑运算符 赋值运算符 其他运算符1.算术运算符 下表显示了R语言支持的算术运算符.运算符对向量的 ...

最新文章

  1. 原来Python破解受密码保护的zip文件这么简单,不保证一定成功
  2. 团购、定时抢购倒计时js版
  3. facebook.com_如何降低电子商务的Facebook CPM
  4. 兼容ie6css怎么设置,CSS样式兼容IE6、IE7、IE8、FF火狐浏览器的方法
  5. nginx 平滑升级
  6. 原来数据库里的单引号是这么加进去的
  7. wordpress 如何移除管理后台仪表盘小工具
  8. MOSS自带SPDatePickerControl控件的使用
  9. android 播放音乐媒体文件(二)
  10. 拦截mysql执行计划数据_MySQL执行计划详解
  11. simplis汉化包_Simtrix.simplis中文教程.pdf
  12. 伯努利公式怎么推导的
  13. 国际短信平台怎么找?
  14. svn之黄色感叹号处理方法
  15. 基于STM32智能小车蓝牙遥控实验(有代码含上位机)
  16. 2020年回顾 | 华清远见研发中心2020年终盘点
  17. 苹果痛失全球市值第一宝座
  18. 轻量级研发知识管理--如何帮助研发人员建设过程资产
  19. Linux下离线或在线安装libreoffice
  20. stressapptest使用介绍

热门文章

  1. Python 多进程笔记 — 启动进程的方式、守护进程、进程间通信、进程池、进程池之间通信、多进程生产消费模型
  2. 最常见NLP任务练手项目汇总
  3. Docker学习(一)-----Docker简介与安装
  4. 关于python导入模块和package的一些深度思考
  5. 【VS实践】VS解决方案中出现无法生成DLL文件
  6. tensor转换 pytorch tensorflow
  7. mapreduce理解_大数据
  8. 深度学习调参体验(二)
  9. CentOS7环境搭建使用PhpStorm上传代码
  10. Android shape 画的圆角带四个黑变 问题