JavaSE之概述与基本语法
嘛,这个本来应该发在OOP之前的,无所谓了,补发一下,这篇文章只会对JavaSE的语法做一个基本的概述而已,我会在最近新开一个新坑,也就是JavaEE系列,以后还会有Cpp(相对于C++,我还是更喜欢cpp这个称呼)系列啊,linux系列啊各种新坑,咱们一步一步慢慢来。
对于JavaSE的基本语法,其实大部分还是借鉴了C语言的语法(好多语言都是这样),这里,首先要明确一个概念就是强类型语言,跟弱类型语言相对,强类型语言的特点就是每一个变量都有其固定的类型,并且无法被隐式转换,Java正是其中的代表。弱类型语言的代表则是JavaScript。
Java提供了以下几种基本数据类型:
byte(字节) 8 -128 - 127 0
shot(短整型) 16 -32768 - 32768 0
int(整型) 32 -2147483648-2147483648 0
long(长整型) 64 -9233372036854477808-9233372036854477808 0
float(浮点型) 32 -3.40292347E+38-3.40292347E+38 0.0f
double(双精度) 64 -1.79769313486231570E+308-1.79769313486231570E+308 0.0d
char(字符型) 16 ‘ \u0000 - u\ffff ’ ‘\u0000 ’
boolean(布尔型) 1 true/false false
还有一个引用数据类型:String
值得一提的是,Java程序运行的环境是Jdk内置的JVM(Java virtual machine Java虚拟机),即使是在不同的平台上运行Java程序,也都是在虚拟机上运行的,因此他的数据类型是不受平台限制的,并且拥有了所谓的“跨平台性”。而Cpp不同,他依赖于平台,在不同的平台上它的各种数据类型所占空间不同,这点暂时不做详细讨论(= o =),以后开了Cpp系列会详细说明。
必须要get到的一个点就是“跨平台性”,java之所以如此流行的重要原因就是由于它跨平台,众所周知,Microsoft的C#与Java极其相似,但是它之所以没有Java火爆,就是它只能在Windows下运行。
跨平台性有哪些具体的体现呢?
1 Android系统,这就不用我多说了吧
2 Linux系统的服务器,将JavaEE部署在服务器上。市面上用WIndows做服务器的有,但是少,有多少?百分之几,这百分之几还是在国内的不是非常发达的地区,像北上广深用windows做服务器的估计都没有1%。
说句实话,Java的执行效率不怎么样(比起C/Cpp),但是胜在现在的电脑够强大,Java的执行效率已经不弱于以前的Cpp(笑),比起一些脚本语言,如python之类的,还是快许多的。
所有的变量在使用之前都要先初始化。
public class Demo {
public static void main(String[] args){
int i = 0;//声明并初始化 double j;//声明一个变量
j = 2.0;//给一个变量赋值 float k;
System.out.println(k);.//报错,k未初始化。
}
}
我们可以使用的/* */进行代码注释,也可以用//进行单行注释,/** .. */的效果与/* .. */注释效果类似,不同的地方在于/**..*/我们可以使用一些html标签,并且使用javadoc命令将其输出为一个文档。
/**
Demo类
*/
public class Demo {
public static void main(String[] args) {
/*
我们进行代码注释
*/ int i = 0;
int j = 2;
int k = i + j; //可以使用变量进行各种运算
//可以使用//来进行单行的注释。
}
}
方法:
/**
方法演示:
*/
public class Demo {
public static void main(String[] args) {
int i = 3;
int j = 5;
System.out.println(add(i, j));//输出8
} public static int add(int x, int y) {
return x + y;
}
}
方法即C/Cpp中的函数,可以使用return关键字返回指定类型的值。
/**
方法演示:
*/
public class Demo {
public static void main(String[] args) {
int i = 3;
int j = 5;
add(i, j);
} public static int add(int x, int y) {
System.out.println(x + y);//输出8
return;
}
}
当指定返回类型为void时,无需返回值,但是return关键字仍旧起作用,它可以返回方法被调用处,即结束当前方法。
PS:关于Java初学,对于一个C/Cpp入门的人来说几乎没有任何难度,但是不同语言都有其独特的思想以及编程的风格。大家如果想对Java有一个深层次的了解,建议读《effective java》 《coreJava》《thinking in java 》,前二者选1即可,当有了一定基础后可以看thinking in java ,多看几遍(笑)。
JavaSE之概述与基本语法的更多相关文章
- Unit02: CSS 概述 、 CSS 语法 、 CSS 选择器 、 CSS声明
Unit02: CSS 概述 . CSS 语法 . CSS 选择器 . CSS声明 my.css p { color: yellow; } demo1.html <!DOCTYPE html&g ...
- 前端学习笔记--js概述与基础语法、变量、数据类型、运算符与表达式
本篇记录js的概述与基础语法.变量.数据类型.运算符与表达式 1.概述与基础语法 2.变量 举例: 3.数据类型 4.运算符与表达式
- JavaSE知识概述集
一.HelloWord(文档启动Java) /* 使用命令行的方式执行的时候,cmd的默认编码格式是GBK 因此在输入中文的时候需要设置文件的编码格式位ANSI,不会出现乱码错误 注意: 0.先用ja ...
- PHP 概述 特点 基础语法
PHP是什么 http://php.net/manual/zh/intro-whatis.php#intro-whatis PHP(Hypertext Preprocessor,超文本预处理器)是一 ...
- 《Java从入门到放弃》JavaSE入门篇:面向对象语法二(入门版)
想了半天,发现单独的封装和多态没什么好讲的,我们就简单说说Java里面对应的语法吧. 相关内容如下: 一.访问修饰符 二.getter/setter方法 三.构造方法 四.super和this 五.s ...
- 零基础学习JavaSE(二)——基础语法
二.Java 基础语法 2.1 Java 基础语法 java是一个面向对象的程序语言,及可把一切事物当做对象处理,而java的事物中最小的就是class (类),类中有方法,类可以创建对象,并且有一些 ...
- JavaSE之概述
作此篇是鉴于个人Java学习之需要,也便于日后进一步归纳与复习. 规定: 1 Java全面概述[囊括 Java工作原理,JVM方面知识,关键字(final,static,public,pr ...
- 一、JavaSE语言概述
1.软件:系统软件 VS 应用软件 2.人与计算交互:使用计算机语言.图形化界面VS命令行. 3.语言的分类:第一代:机器语言 第二代:汇编语言 第三代语言:高级语言(面向过程-面向对象) 4.jav ...
- JavaSE 集合概述
1.对象的存储: 数组(基本数据类型 & 引用数据类型) 集合(引用数据类型) 2.集合框架 Collection 接口: 方法: iterator().toArray(); 迭代器遍历集合 ...
随机推荐
- Grid – 入门必备!简单易懂的响应式设计指南
如今,人们使用各种各样的移动设备访问网页,设计师们需要去适配不同的屏幕,让用户在都能有最佳的浏览体验.Grid 是一个简单的响应式设计指南,按照这些简单的步骤,你的就能够掌握基础的响应网页设计技巧. ...
- 携带cookie进行数据请求
前端进行数据请求有:普通的ajax(json)请求,jsop跨域请求,cors跨域请求,fetch请求...PC端这些请求方式中,普通的ajax(json)请求和jsop跨域请求是默认携带cookie ...
- PHP 后台定时循环刷新某个页面 屏蔽apache意外停止
PHP 后台定时循环刷新某个页面 如果间隔时间过长的话 会出现apache自动停止的现象.出现的原因则是设置了 <IfModule mpm_winnt_module> ThreadsPe ...
- 深入理解javascript(一)
此段文章摘自大叔的博客: 此文的目的是书写可维护的javascript代码. 最小的全局变量: JavaScript通过函数管理作用域.在函数内部声明的变量只在这个函数内部,函数外面不可用.另一方面, ...
- 源码详解openfire保存消息记录_修改服务端方式
实现openfire消息记录通常有两种方式,修改服务端和添加消息记录插件. 今天,简单的说明一下修改服务端方式实现消息记录保存功能. 实现思路 修改前: 默认的,openfire只提供保存离线记录至o ...
- Loader加载器
今天学到了这个Loader,浅谈一下自己的看法: 1.定义 Loader是一个加载器,可以用来它访问数据,可以看做访问数据的机器(好比挖掘机).装再器从android3.0开始引进,它使得在activ ...
- location of the android sdk has not been setup in the preferences
点eclipse的android virtual device manager提示错误:error:location of the android sdk has not been setup in ...
- 迪杰斯特拉算法——PAT 1003
本文主要是将我对于我对于迪杰斯特拉算法的理解写出来,同时通过例题来希望能够加深对于算法的理解,其中有错误的地方希望大家指正. 迪杰斯特拉算法 我将这个算法理解成一个局部到整体的算法,这个方法确实越研究 ...
- PMBOK学习笔记二-项目管理过程
项目管理过程可归纳为五类,即五大项目管理过程组 启动过程组.定义一个新项目或现有项目的一个新阶段,授权开始该项目或阶段的一组过程..规划过程组.明确项目范围,优化目标,为实现目标制定行动方案的一组过程 ...
- JVM知识点
先发个链接到两位大牛的主页 http://rednaxelafx.iteye.com/ http://icyfenix.iteye.com/ 目录 1)概述 2)编译 3) ...