java基础总结——基础语法1
一、标示符
二、关键字
三、java基本数据类型
3.1 常量
● 常量表示不能改变的数值。
● java中常量的分类:
1. 整数常量。所有整数
2. 小数常量。所有小时
3. 布尔型常量。较为特有,只有两个数值。true false。
4. 字符常量。将一个数字字母或者符号用单引号( ' ' )标识。
5. 字符串常量。将一个或者多个字符用双引号标识。
6. null常量。只有一个数值就是:null.
● 对于整数:java有三种表现形式。
十进制:0-9 ,满10进1.
八进制:0-7 ,满8进1. 用0开头表示。
十六进制:0-9,A-F,满16进1. 用0x开头表示。
3.2变量
从本质上来讲,变量其实是内存里面的一小块区域,一个程序在运行的时候,实际上这个程序是位于内存里面,然后才开始运行。一个.exe文件存放在硬盘上是无法运行的,在硬盘上看到的.exe文件无非就是一个文件而已,当我们双击这个.exe文件时,运行起来的时候实际上是整个.exe文件被放在了在内存里面,然后操作系统找到main方法,也就是程序的入口,然后就开始执行了。执行的过程之中,会不断地在内存里面分配一些区域,变量在内存里面就是一小块区域,变量有两个概念,一个是变量的名字,另一个是变量的值,即这一小块区域是有名字的,里面装着一个值,因此以后要想访问这小块区域里面的内容就可以根据这小块区域的名字来访问了。因此,变量的本质就是一小块内存区域。就变量来说,该在内存里面分配多大的存储空间呢?不同的变量类型分配不同大小的存储空间,每一个变量都是属于特定的数据类型的,声明成不同的数据类型,它就在内存里面分配不同的存储空间。
变量作用域:变量的作用域只在“{ }”有效,出了这个“{ }”就没有作用了
以上转自:http://www.cnblogs.com/xdp-gacl/p/3624567.html
3.3 变量的分类
3.4 java数据类型划分
四、基本数据类型详细讲解
4.1 逻辑型boolean
4.2 文本型char
4.3 整数型(byte、short、int、long)
char类型占2个字节
short从-32768到32767
int从-2147483648,到2147483647共10位
long从-9223372036854775808到9223372036854775807共19位
4.4 浮点型(float、double)
在 数学中0到1有无数个浮点数;而计算机是离散的,所以表示的时候有误差,计算机用精度(小数点后几位来表示正确),比较浮点数时a==0.1是不合适的, 应该a-0.1==0;如果a是0.1,则即使有误差
a-0.1==0因为a和0.1都被表示为一个有误差的计算机二进制
byte 字节型,在内存中占有1个8位 取值范围 -128 ~~127
short短整型,在内存占有2个8位 取值范围 -32768 ~~
32767
int 整型,在内存中占有4个8位 取值范围-2147483648~~2147483647
我们生活中数据,整数,都默认是int类型
long长整型,内存中占有8个8位,计算天文数据
float单精度浮点类型,4个8位
double双精度浮点类型,8个8位,生活中小数默认都是double
char 字符型,存储单一字符,内存中占2个8位
boolean 布尔类型,2个值,都是关键字
真true 假false
4.5数据类型转换
看看下面程序出现错误的原因:
byte b = 4;
byte b1 = 3;
byte b2 = 7;
b = b1 + b2;====>>>b1和b2是变量,而b是byte类型,无法保证b1+b2是否超出其取值范围
System.out.println(b);
- public class TestConvert {
- public static void main(String arg[]) {
- int i1 = 123;
- int i2 = 456;
- double d1 = (i1+i2)*1.2;//系统将转换为double型运算
- float f1 = (float)((i1+i2)*1.2);//需要加强制转换符
- byte b1 = 67;
- byte b2 = 89;
- byte b3 = (byte)(b1+b2);//系统将转换为int型运算,需要强制转换符
- System.out.println(b3);
- double d2 = 1e200;
- float f2 = (float)d2;//会产生溢出
- System.out.println(f2);
- float f3 = 1.23f;//必须加f
- long l1 = 123;
- long l2 = 30000000000L;//必须加l
- float f = l1+l2+f3;//系统将转换为float型计算
- long l = (long)f;//强制转换会舍去小数部分(不是四舍五入)
- }
- }
五 运算符
5.1算术运算符
/ :这个符号在计算中,如int中,人类计算结果是有小数的,而计算机会把小数部分干掉
%(取余) :如果左边的数比右边的数小,则结果是左边的数
++、-- :在变量的左边,进行先加再运算。在右边则进行先运算后加。
5.2 逻辑运算符
^符号两边结果相同,则为false;如果两边结果不同,则为true
^规律:一个数异或同一个数两次,结果还是这个数
如例两整数换位:a=3,b=5不用第三方变量使a=5,b=3 (a=a^b;b=a^b;a=a^b)
面试题:&,&&和|,||的区别
&&和&:
和&(两边都为真,才为真)运算的结果是一样的。但是运算过程有点小区别。
&:无论左边的运算结果是什么,右边都参与运算。
&&:当左边为false时,右边不参与运算的。
||和|:
和|(两边只要一个为真,就为真)运算的结果是一样的。但是运算过程有点小区别。
|:无论左边的运算结果是什么,右边都参与运算。
||:当左边为true时,右边不参与运算的。
5.3 赋值运算符
= , +=, -=, *=, /=, %=
左右两边的和,减,乘,除,余赋值给左边!
5.4 字符串连接符
5.5表达式
5.6 三目运算符
x?y:z
java基础总结——基础语法1的更多相关文章
- Java基础之基础语法
前言:Java内功心法之基础语法,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) 一个Java程序可以认为是一系列对象的集合,而这些对象通过调 ...
- Java入门 - 语言基础 - 03.基础语法
原文地址:http://www.work100.net/training/java-basic-syntax.html 更多教程:光束云 - 免费课程 基础语法 序号 文内章节 视频 1 第一个Jav ...
- [原]Java修炼 之 基础篇(一)Java语言特性
学习软件开发,首先要选择的就是选择需要采用的编程语言,考虑语言本身的优缺点和实际需求,综合评价之后选择相关的语言进行系统开发.本篇博客开始就从近年来比较流行的Java开始为大家讲起. 背景 1995年 ...
- Java 笔试面试 基础篇 一
1. Java 基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法, 线程的语法,集合的语法,io 的语法,虚拟机方面的语法. 1.一个".java& ...
- Java面向对象编程基础
一.Java面向对象编程基础 1.什么是对象?Object 什么都是对象! 只要是客观存在的具体事物,都是对象(汽车.小强.事件.任务.按钮.字体) 2.为什么需要面向对象? 面向对象能够像分析现实生 ...
- 2.4JAVA基础复习——JAVA语言的基础组成数组
JAVA语言的基础组成有: 1.关键字:被赋予特殊含义的单词. 2.标识符:用来标识的符号. 3.注释:用来注释说明程序的文字. 4.常量和变量:内存存储区域的表示. 5.运算符:程序中用来运算的符号 ...
- 2.2JAVA基础复习——JAVA语言的基础组成运算符和语句
JAVA语言的基础组成有: 1.关键字:被赋予特殊含义的单词. 2.标识符:用来标识的符号. 3.注释:用来注释说明程序的文字. 4.常量和变量:内存存储区域的表示. 5.运算符:程序中用来运算的符号 ...
- 2.1JAVA基础复习——JAVA语言的基础组成注释和常量变量
JAVA语言的基础组成有: 1.关键字:被赋予特殊含义的单词. 2.标识符:用来标识的符号. 3.注释:用来注释说明程序的文字. 4.常量和变量:内存存储区域的表示. 5.运算符:程序中用来运算的符号 ...
- JVM 内部原理(七)— Java 字节码基础之二
JVM 内部原理(七)- Java 字节码基础之二 介绍 版本:Java SE 7 为什么需要了解 Java 字节码? 无论你是一名 Java 开发者.架构师.CxO 还是智能手机的普通用户,Java ...
- JVM 内部原理(六)— Java 字节码基础之一
JVM 内部原理(六)- Java 字节码基础之一 介绍 版本:Java SE 7 为什么需要了解 Java 字节码? 无论你是一名 Java 开发者.架构师.CxO 还是智能手机的普通用户,Java ...
随机推荐
- How to install OpenBazaar Server in CentOS7
helps from: https://github.com/OpenBazaar/OpenBazaar-Server http://stackoverflow.com/questions/24917 ...
- .NET LINQ概述
LINQ 语言集成查询 (LINQ) 是 Visual Studio 2008 中引入的一组功能,它在对象领域和数据领域之间架起了一座桥梁.可为 C# 和 Visual Basic 语言语法 ...
- HTML5本地存储——Web SQL Database
在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数据就 ...
- NPOI导出Excel - 自动适应中文宽度(帮助类下载)
前言 做了好几个Excel.Word导出,用了HTTP流导出伪Excel文件.用过Office组件(这东西在生产环境下相当麻烦,各种权限,**). 最后决定使用NPOI组件来导出,好处很多很多了,这里 ...
- hdu 2489(枚举 + 最小生成树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2489 思路:由于N, M的范围比较少,直接枚举所有的可能情况,然后求MST判断即可. #include ...
- js函数封装
1.随机数 <script> function rnd(n,m){ return parseInt(Math.random()*(m-n)+n); } var a=rnd(45,47); ...
- offset图
- Leetcode Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings. class Solutio ...
- Android入门(五):程序架构——MVC设计模式在Android中的应用
刚刚接触编程的的人,可能会这样认为:只要代码写完了能够跑起来就算完工了.如果只是写一个小程序,“能够跑起来”这样的标准也就可以了,但是如果你是在公司进行程序的开发,那么仅仅让程序成功的跑起来是不行的, ...
- lua中的中文乱码
最近在用lua, 发现一个有点意思的槽点啊-____-! 那就是lua貌似会使用系统所用的字符集. 具体点说, 就是在windows上, 它会使用cp936来表示代码中的中文. 来个例子: print ...