class Test
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}

在java源文件中可以有多个class类,但是只能有一个类有public属性,要求有public属性的那个类的类名必须与源文件的文件名相同

HelloWorld.java  ----->  public class HelloWorld

程序入口是main方法,格式固定,但是参数不固定

System.out.println("Hello World!");   //先输出后换行

System.out.print("Hello World!");   //输出

编译以后会生成一个或多个字节码文件(.class),字节码文件个数与java文件中类的数量相同

应用程序 = 算法 + 数据结构
/**  */:文档注释

基本数据类型:

byte short int long

浮点类型:float,double

字符型:char

布尔型:boolean

引用数据类型:

类: class    <------字符串在这里

接口:interface

数组: array[]

//long型变量必须以“L”或者“l”结尾,标识一下

//float型变量必须以“F”或者“f”结尾,标识一下

char == 2 byte

在java中char站两个字节,java使用unicode编码,两个字节表示一个字符

布尔类型:true false

java中只用这两个值表示判断

在特殊符号前面(比如“  \n   '这些)  加“\”表示后面的特殊字符不是用来作为字符,而仅仅作为一个成员

自动类型提升

接收容量大小 byte,char,short------>int------->long----->float------->double

byte a= 1;

int b = 400;

a+b的结果应该用int 或者比int数据宽度跟宽的类型接收

byte char short 三者互相或者自身两两做运算时,接收值为int类型或以上(其实我猜想就是方便cpu寻址)

强制转化

小转大没什么,大转小有可能有精度损失,数据截断

整型常量默认类型是int型,浮点型常量默认类型是double

String

一个引用数据类型,在类中,字符串

使用双引号

char是字符,使用单引号

可以与其他八种基本数据类型变量做运算,只能使用连接符”+“,结果也是个String类型

“+”只有在与String作运算时才算连接符,其他类型都当作加法,char类型对应UNIONCODE编码的数作加减

String str;

str.charAt(n);   n表示索引,取第几个字符,用char接收

str.equals("xx");  判断是不是相等

运算符

i++ 先运算再++

++i先++再运算

扩展运算符

+=,-+,*=,/=,%=

不改变变量本身数据类型

short s = 3;

s = s+2; //编译不通过  2默认是int类型

s+=2;  //编译通过(推荐使用)

比较运算符

比较运算符的结果是boolean类型

逻辑运算符

短路与 &&     短路或||    逻辑异或^

&和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假;

但是&&当第一个条件不成之后,后面的条件都不执行了,而&则还是继续执行,直到整个条件语句执行完为止。

位运算符

<< 左移    >>右移   >>>无符号右移     &  |   ^      ~

三元运算符

(条件表达式)?表达式1:表达式2

运算符优先级

if else

if()

{}

else if()

{}

......

else

{}

Scanner

这是个API,像String一样是再Class中,我们可以通过 Scanner 类来获取用户的输入。

使用:

1.导包:import java.util.Scanner;

2.实例化:Scanner scan = new Scanner(System.in)

3.调用相关函数(方法),来获取指定类型变量

Scanner scan = new Scanner(System.in);
int i = scan.nextInt();

接收用户输入的一个int类型的整数

Switch case

switch结构中的表达式只能是byte,short,char,int,枚举类型(JDK5新增),String类型(JDK8.0新增)

循环

break continue可以指定标识符那一层循环

java学习(更新中)的更多相关文章

  1. Java 与C++的各种优势与弱点--学习更新中

    时隔两年没有怎么碰Java了,最近开始学习回顾下.在这里记录下学习的点滴,持续更新...希望对c++\java等不同语言有较为清晰的认识,至少不要学完以后,哪一个都不会了... Java 优势: 1. ...

  2. java中enum----枚举的学习(更新中)

    package com.hdmaxfun; import java.util.Scanner; import com.icpc.Icpm; import java.util.HashMap; impo ...

  3. java学习-http中get请求的非ascii参数如何编码解码探讨

    # 背景: 看着别人项目代码看到一个PathUtils工具类, 里面只有一个方法,String  rebuild(String Path),将路径进行URLDecoder.decode解码,避免路径中 ...

  4. 初学matlab----函数用法(随学习更新中)

    sort(A) 若A是向量不管是列还是行向量,默认都是对A进行升序排列. sort(A)是默认的升序,而sort(A,'descend')是降序排序. sort(A)若A是矩阵,默认对A的各列进行升序 ...

  5. Java学习——方法中传递参数分简单类型与复杂类型(引用类型)编程计算100+98+96+。。。+4+2+1的值,用递归方法实现

    package hello; public class digui { public static void main(String[] args) { // TODO Auto-generated ...

  6. java视频教程 Java自学视频整理(持续更新中...)

    视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...

  7. 关于Java,那些我心存疑惑的事(不断更新中...)

    本文主要列出一些Java常用到确又让大家不怎么注意的问题. 将会不断更新,欢迎关注-- 如有觉得不合理之处,欢迎评论交流,没有火花怎么印象深刻? (1)Java到底是值传递?还是引用传递? 揪出这个问 ...

  8. Java学习-045-目录中文件拷贝

    挺晚的了,直接上码.敬请各位小主参阅,若有不足之处,敬请指正,非常感谢! 目录文件拷贝源码: /** * <strong>目录拷贝</strong><br> * & ...

  9. Java学习-043-获取文件在目录中的路径

    我们在日常的电脑使用中,经常需要在当前目录或当期目录及其子目录中查找文件,并获取相应的文件路径名.在我们的自动化测试中,也经常需要确认文件在目录中是否成功生成或已存在,因而我写了一个小方法来实现. 获 ...

随机推荐

  1. random array & shuffle 洗牌算法 / 随机算法

    random array & shuffle shuffle 洗牌算法 / 随机算法 https://en.wikipedia.org/wiki/Fisher–Yates_shuffle ES ...

  2. javascript disable scroll event

    javascript disable scroll event Document: scroll event https://developer.mozilla.org/en-US/docs/Web/ ...

  3. window.locationbar

    window.locationbar demo https://cdn.xgqfrms.xyz/#/operate-tool/select-seat-system/select-detail?temp ...

  4. DOM & Shadow DOM & Virtual DOM

    DOM & Shadow DOM & Virtual DOM What is the difference between Shadow DOM and Virtual DOM? ht ...

  5. svg click event bug & css pointer-events

    svg click event bug & css pointer-events svg click event not working Error OK ??? css class /* d ...

  6. Flutter 创建dashboard页面

    1 import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends Sta ...

  7. Asp.NetCore 3.1demo发布使用Windows服务

    Core之Windows服务 使用测试之前,先来简单了解一下 window自带的sc命令 ========install.bat set serviceName=你的服务名称 set serviceF ...

  8. 以代码为剑、数学为犁,SPC构建NGK算力生态体系

    人类创造工具,工具反过来也改变着人类.以区块链为核心的货币革命率先吹响了对金融世界重塑的号角.以代码为剑.数学为犁,区块链构建了新的网路信任体系,这是一切的开始.基于此,NGK区块链技术将赋能实体产业 ...

  9. Linux安装MySQL_全网最详细

    Linux安装MySQL 编辑于2021-02-19 本文中MySQL安装目录为/usr/local/mysql 上传MySQL安装包至/usr/local目录,执行命令解压 [root@JetXi ...

  10. 百度 Apollo无人车平台增加传感器

    https://github.com/ApolloAuto/apollo/issues/1649 如果想加入一个新的传感器不是百度官方推荐的传感器到Apollo平台做法: First you can ...