java学习(更新中)
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学习(更新中)的更多相关文章
- Java 与C++的各种优势与弱点--学习更新中
时隔两年没有怎么碰Java了,最近开始学习回顾下.在这里记录下学习的点滴,持续更新...希望对c++\java等不同语言有较为清晰的认识,至少不要学完以后,哪一个都不会了... Java 优势: 1. ...
- java中enum----枚举的学习(更新中)
package com.hdmaxfun; import java.util.Scanner; import com.icpc.Icpm; import java.util.HashMap; impo ...
- java学习-http中get请求的非ascii参数如何编码解码探讨
# 背景: 看着别人项目代码看到一个PathUtils工具类, 里面只有一个方法,String rebuild(String Path),将路径进行URLDecoder.decode解码,避免路径中 ...
- 初学matlab----函数用法(随学习更新中)
sort(A) 若A是向量不管是列还是行向量,默认都是对A进行升序排列. sort(A)是默认的升序,而sort(A,'descend')是降序排序. sort(A)若A是矩阵,默认对A的各列进行升序 ...
- Java学习——方法中传递参数分简单类型与复杂类型(引用类型)编程计算100+98+96+。。。+4+2+1的值,用递归方法实现
package hello; public class digui { public static void main(String[] args) { // TODO Auto-generated ...
- java视频教程 Java自学视频整理(持续更新中...)
视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...
- 关于Java,那些我心存疑惑的事(不断更新中...)
本文主要列出一些Java常用到确又让大家不怎么注意的问题. 将会不断更新,欢迎关注-- 如有觉得不合理之处,欢迎评论交流,没有火花怎么印象深刻? (1)Java到底是值传递?还是引用传递? 揪出这个问 ...
- Java学习-045-目录中文件拷贝
挺晚的了,直接上码.敬请各位小主参阅,若有不足之处,敬请指正,非常感谢! 目录文件拷贝源码: /** * <strong>目录拷贝</strong><br> * & ...
- Java学习-043-获取文件在目录中的路径
我们在日常的电脑使用中,经常需要在当前目录或当期目录及其子目录中查找文件,并获取相应的文件路径名.在我们的自动化测试中,也经常需要确认文件在目录中是否成功生成或已存在,因而我写了一个小方法来实现. 获 ...
随机推荐
- random array & shuffle 洗牌算法 / 随机算法
random array & shuffle shuffle 洗牌算法 / 随机算法 https://en.wikipedia.org/wiki/Fisher–Yates_shuffle ES ...
- javascript disable scroll event
javascript disable scroll event Document: scroll event https://developer.mozilla.org/en-US/docs/Web/ ...
- window.locationbar
window.locationbar demo https://cdn.xgqfrms.xyz/#/operate-tool/select-seat-system/select-detail?temp ...
- DOM & Shadow DOM & Virtual DOM
DOM & Shadow DOM & Virtual DOM What is the difference between Shadow DOM and Virtual DOM? ht ...
- svg click event bug & css pointer-events
svg click event bug & css pointer-events svg click event not working Error OK ??? css class /* d ...
- Flutter 创建dashboard页面
1 import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends Sta ...
- Asp.NetCore 3.1demo发布使用Windows服务
Core之Windows服务 使用测试之前,先来简单了解一下 window自带的sc命令 ========install.bat set serviceName=你的服务名称 set serviceF ...
- 以代码为剑、数学为犁,SPC构建NGK算力生态体系
人类创造工具,工具反过来也改变着人类.以区块链为核心的货币革命率先吹响了对金融世界重塑的号角.以代码为剑.数学为犁,区块链构建了新的网路信任体系,这是一切的开始.基于此,NGK区块链技术将赋能实体产业 ...
- Linux安装MySQL_全网最详细
Linux安装MySQL 编辑于2021-02-19 本文中MySQL安装目录为/usr/local/mysql 上传MySQL安装包至/usr/local目录,执行命令解压 [root@JetXi ...
- 百度 Apollo无人车平台增加传感器
https://github.com/ApolloAuto/apollo/issues/1649 如果想加入一个新的传感器不是百度官方推荐的传感器到Apollo平台做法: First you can ...