【CXY】JAVA基础 之 语法基础
概述:
Java语法基础知识:数据类型、变量、标识符、关键字、运算符、注释
1.数据类型:
1.java是强类型语言,所有变量都必须声明其确定的类型
2.基本数据类型和引用数据类型 见图
3.类型转换:
1.自动转换(由小转大)
2.强制类型转换(可能会造成数据精度的丢失甚至是异常)
2.变量
1.存储数据的基本单元,用来存储程序执行过程中需要的或生成的数据
2.作用范围(生命周期):局部变量和成员变量 (涉及到java面向对象知识)
3.标识符:
1.对各种变量、方法、类等命名的字符串序列(符号)
2.规则
a.组成:字母、数字、_(下划线)、$(美元符号),不能有特殊符号(空格、@、#)和关键字(在java中有特殊意义的字符串序列)
b.必须以字母、_(下划线)、$(美元符号)开头
c.大小写敏感
4.关键字:在java中有特殊意义的,注意都是小写 见图
5.运算符
1.见图
2.几个需要注意的运算符:++、--、&&、||、三元运算符、扩展运算符的含义,这些都见例子
3.优先级顺序
6.注释
1.单行注释、多行注释
2.注释的好处:
1.记录开发思路,方便自己回忆、他人理解
2.ide下开发,对方法注释,会让其他调用者清楚的看到方法及每个参数的含义
3.javadoc:将注释提炼成系统文档(甚至可以省去编写开发文档的大部分工作)
package com.cxy.base;import java.util.List;/*** @author cxy*/
public class Base1Test
{public static void main(String[] args){//unicode字符集97号编码是小写字母achar u1=97;System.out.println(u1);//a字符和b字符在unicode字符集编码相差1char u2='a';char u3='b';System.out.println(u3-u2);//想知道你的名字在unicode字符集的位置么?char name1='程';char name2='序';char name3='员';System.out.println("程的unicode,10进制编码为:"+(name1-name2+name2));System.out.println("序的unicode,10进制编码为:"+(name2-name1+name1));System.out.println("员的unicode,10进制编码为:"+(name3-name1+name1));// 类型转换// 自动类型转换 和 强制类型转换int aaa = 100;long bbb = 100L;long ccc = aaa + bbb; //aaa 自动转成long型做运算int ddd = aaa +(int)bbb; //强制转换成int型 可能会造成精度的缺失//这里其实我们可以写一个工具类,用来探测变量的真实类型,但是由于涉及到面向对象的知识,所以请期待后期文章//System.out.println(TypeTools.getType(aaa + bbb));//System.out.println(TypeTools.getType((int)bbb));/* int和integer区别* 1.int是基本的数据类型* 2.Integer是int的封装类 属于引用类型,提供了int数据的相关操作* 3.当需要往ArrayList,HashMap中放东西时,像int,double这种内建类型是放不进去的,因为容器都是装 object的* 这里涉及到:集合、封装类等知识,请关注我博客的相关文章*/int eee=1;Integer fff=new Integer(1);/* 自增运算符 (注意这只是做个演示,真实工作的时候千万不要写这么“高深”的代码)* 两种自增的含义:* a=b++; b先做自加操作,然后将b的原始值赋给a* a=++b; b先做自加操作,然后将b的自加后的值赋给a* 这里注意 执行的顺序都是b先做自加!因为++的优先级比=(复制运算符)高很多~* 看了很多书,只有一本叫做《java核心技术》的书阐述的是这样的执行过程* 如果下面的例子 你能分析成功 那么你++运算符的使用算是过关了*/int zzz=100;System.out.println("zzz=100,经过如下运算后");System.out.println("zzz++ + ++zzz 结果是:" + (zzz++ + ++zzz));System.out.println("++zzz + zzz++ 结果是:" + (++zzz + zzz++));System.out.println("zzz最终结果是:" + zzz);/* &&(短路与)、||(短路或)* 什么叫做短路与?* a && b:当a为假的时候无论b是真是假,这个表达式都为假,所以这种情况java根本不会去理会b到底是个什么样的结果* 这样做 能够提高程序执行效率* || 道理相同,当第一个表达式是真的话,第二个表达式无所谓真假* * 下面的例子涉及到集合和异常的知识,请参见本博客的相关文章*/ List l=null;if(l!=null && l.size()>1){//你的操作}/*说明:了解异常知识的人知道,l的值是null,当调用l的方法时,会报null异常*但是我们发现这里根本没有报异常,因为l==null为false后java并不去关心(执行)后面的表达式(因为这根本没有意义)*///三元操作符演示int i=100;System.out.println(i==100?"满分":"非满分");//解释:i是不是等于100?是的话表达式的值就是"满分",否则的话就是"非满分"//等价于下面(下面涉及到java控制流相关知识,请参见本博客的相关文章)if(i==100){System.out.println("满分");}else{System.out.println("非满分");}}
}
声明:
1.原创文章,转载请标明并加本文连接。
2.文章反映个人愚见,如有异议欢迎讨论指正
【CXY】JAVA基础 之 语法基础相关推荐
- 【Java基础】语法基础
本文适合有编程基础或是需要Java语言复习的家人们食用~ 一.Java语言介绍 本篇文章使用的JDK版本是1.8(即JDK 8) Java语言是运行在JVM上的,有了JVM,Java语言得以在不同操作 ...
- 语法基础——Objective-C语法基础
前言 学习过Swift之后,好久没用已经生疏了,现在有项目来了,不得不停下手下的工作,开始学习OC,当然这篇文章会以Java基础和C基础作为支撑,这样学习起来入门很简单,可能这篇文章有点个人主义,用作 ...
- java的语法基础_JAVA语法基础1(入门手册)
目录 1.JRE和JDK 2.环境 3.java程序运行流程 4.我的第一个程序 5.java基础语法 1.注释 2 .关键字 3.常量 4.数据类型 5.变量 6.标识符 7.类型转换 7.1 自动 ...
- 语法基础——C语法基础
前言 马上是就到大四的我,面临校招的我倍感压力,而且今年又是安卓的瓶颈期,外面对能力的要求特别的高,但是我看了很多面经之后,发现很多大公司注重的是数据结构与算法,所以我们不得不有两手准备,开始温习数据 ...
- 语法基础——PHP语法基础
变量 变量不分类型,用$符号可以代替所有类型,这点跟JS的var很像 $a = 10; $b = 5; echo $a+$b 常量 常量分为const和define,它们的区别是: define是在编 ...
- 基础SQL语法及使用(入门级)
基础SQL语法 基础 1.建表(CREATE\TABLE...) 2.删除表(DORP\TABLE) 3.修改表插入列(ALTER\TABLE\ADD\DROP\COLUMN\CHANGE) 4.插入 ...
- CSharp语法基础
CSharp语法基础CSharp语法基础CSharp语法基础 常用工具类 1.开发环境 开发环境 第一个程序 认识CS项目 2.类型和变量 类型和变量 控制台输出 3.类和对象 添加类 字段和方法 构 ...
- java与javaScript 语法的区别
目录 前言 一.java和javaScript是什么?有何不同? 1.java简介 2.javaScript简介 二,语法区别 -1.语法基础 java语言基础 Js语法基础 -2.数据类型 java ...
- Python运维开发基础01-语法基础【转】
开篇导语 整个Python运维开发教学采用的是最新的3.5.2版,当遇到2.x和3.x版本的不同点时,会采取演示的方式,让同学们了解. 教学预计分为四大部分,Python开发基础,Python开发进阶 ...
最新文章
- IplImage和Mat间的相互转换
- Android TextView文本处理库推荐
- 计算硼原子的基态能级的java程序
- OpenCV梯度直方图HOG的实例(附完整代码)
- linux性能架构,Linux性能及调优指南(翻译)之Linux内存架构
- 微信自动抢红包软件被判赔 475 万;日本科学家打破网速全球纪录;JavaScript蝉联最受欢迎编程语言|极客头条...
- 明明选的是个人用途,为什么会被检测商用?
- android守护进程
- PowerDesigner(八)-面向对象模型(用例图,序列图,类图,生成Java源代码及Java源代码生成类图)(转)...
- 记录:mysql 字符串拼接函数
- linux ftp命令下载目录,linux命令行下的ftp 多文件下载和目录下载
- staruml 试用_浅析几款主流的UML建模工具
- MacBookPro外接显示器开启HiDPI
- 软件构造过程与配置管理
- 基于php的人事档案管理系统
- excel单元格内容拆分_EXCEL批量拆分单元格,也可以这么快
- 根据相机旋转矩阵求解三个轴的旋转角/欧拉角/姿态角
- ubuntu安装frps服务器与xtcp配置
- LE MAX2 X820刷机记
- 再见亦是兄弟:别少旭