嘛,这个本来应该发在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之概述与基本语法的更多相关文章

  1. Unit02: CSS 概述 、 CSS 语法 、 CSS 选择器 、 CSS声明

    Unit02: CSS 概述 . CSS 语法 . CSS 选择器 . CSS声明 my.css p { color: yellow; } demo1.html <!DOCTYPE html&g ...

  2. 前端学习笔记--js概述与基础语法、变量、数据类型、运算符与表达式

    本篇记录js的概述与基础语法.变量.数据类型.运算符与表达式 1.概述与基础语法 2.变量 举例: 3.数据类型 4.运算符与表达式

  3. JavaSE知识概述集

    一.HelloWord(文档启动Java) /* 使用命令行的方式执行的时候,cmd的默认编码格式是GBK 因此在输入中文的时候需要设置文件的编码格式位ANSI,不会出现乱码错误 注意: 0.先用ja ...

  4. PHP 概述 特点 基础语法

    PHP是什么 http://php.net/manual/zh/intro-whatis.php#intro-whatis  PHP(Hypertext Preprocessor,超文本预处理器)是一 ...

  5. 《Java从入门到放弃》JavaSE入门篇:面向对象语法二(入门版)

    想了半天,发现单独的封装和多态没什么好讲的,我们就简单说说Java里面对应的语法吧. 相关内容如下: 一.访问修饰符 二.getter/setter方法 三.构造方法 四.super和this 五.s ...

  6. 零基础学习JavaSE(二)——基础语法

    二.Java 基础语法 2.1 Java 基础语法 java是一个面向对象的程序语言,及可把一切事物当做对象处理,而java的事物中最小的就是class (类),类中有方法,类可以创建对象,并且有一些 ...

  7. JavaSE之概述

    作此篇是鉴于个人Java学习之需要,也便于日后进一步归纳与复习.  规定:      1 Java全面概述[囊括 Java工作原理,JVM方面知识,关键字(final,static,public,pr ...

  8. 一、JavaSE语言概述

    1.软件:系统软件 VS 应用软件 2.人与计算交互:使用计算机语言.图形化界面VS命令行. 3.语言的分类:第一代:机器语言 第二代:汇编语言 第三代语言:高级语言(面向过程-面向对象) 4.jav ...

  9. JavaSE 集合概述

    1.对象的存储: 数组(基本数据类型 & 引用数据类型) 集合(引用数据类型) 2.集合框架 Collection 接口: 方法: iterator().toArray();  迭代器遍历集合 ...

随机推荐

  1. Reapp - 下一代的 Hybrid App 开发框架

    Reapp 与 React Native 有着惊人的相似之处,二者都使用 React 来创建应用程序用户界面的框架.然而,在底层机制上这两个框架之间却具有明显的哲学差异.React Native 将 ...

  2. emberjs学习二(ember-data和localstorage_adapter)

    emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...

  3. Windows安装apache2.4

    The primary Windows platform for running Apache 2.4 is Windows 2000 or later. Always obtain and inst ...

  4. [原创]html5游戏_贪吃蛇

    代码随便写写,尚有许多不足,PC与手机端皆可运行 手机端滑屏操作,PC端方向键操作 疑问: 生成食物,与判断是否可以移动方面 有两种实现方式, 1.使用js内存,数组循环判断 2.使用dom的quer ...

  5. JavaScript中对象的比较

    Javascript中有'=='和'==='两种相等比较,后者是全等,会判断数据类型,前者是相等,在比较时,会发生隐式转换. 如果将两个对象做'=='比较,结果会如何呢? 比如有如下两个对象: var ...

  6. XSS攻击的解决方法

    在我上一篇<前端安全之XSS攻击>文中,并没有把XSS攻击的解决办法说完整,而XSS的攻击又那么五花八门,有没有一招“独孤九剑”能够抗衡,毕竟那么多情况场景,开发人员无法一一照顾过来,而今 ...

  7. iOS之属性修饰符 retain、strong和copy区别测试

    时不时会有点迷惑属性修饰符retain.strong.copy三者之间的区别,还是把测试过程记录下来好一点! 1.属性修饰符结论 2.给retain.strong.copy修饰的字符串属性赋值指针变化 ...

  8. android 数据存储Ⅰ

    本章讲述在Android开发中,简单的数据存储.涉及知识主要是SharedPreferences,及多页面切换ViewPager. 1.功能需求 做一个小应用.启动的时候有左右引导图.只有第一次启动时 ...

  9. JavaScript SetInterval与setTimeout使用方法详解

    setTimeout和setInterval的语法相同.它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码.不过这两个函数还是有区别的 ...

  10. CSS3 Gradient线性渐变

    废话小说,看代码 <!DOCTYPE html > <html > <head> <meta charset="utf-8"> &l ...